Heim >Web-Frontend >js-Tutorial >Wie kann ich Akzente und diakritische Zeichen aus Zeichenfolgen in JavaScript entfernen?

Wie kann ich Akzente und diakritische Zeichen aus Zeichenfolgen in JavaScript entfernen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-25 19:43:09973Durchsuche

How Can I Remove Accents and Diacritics from Strings in JavaScript?

Akzente und diakritische Zeichen aus Zeichenfolgen in JavaScript entfernen

Das Entfernen akzentuierter Zeichen aus Zeichenfolgen ist für Aufgaben wie Sortier- und Suchvorgänge unerlässlich. Es gibt verschiedene Ansätze, um dies in JavaScript zu erreichen.

Verwendung regulärer Ausdrücke

Eine gängige Methode besteht darin, reguläre Ausdrücke zu verwenden, um akzentuierte Zeichen durch ihre nicht akzentuierten Äquivalente zu ersetzen. In älteren Browsern wie IE6 können jedoch Probleme mit regulären Ausdrücken auftreten.

Nutzung von String.prototype.normalize()

ES2015 führte String.prototype.normalize() ein Methode, die die Normalisierung von Unicode-Strings ermöglicht. Durch Normalisierung auf die „NFD“-Form können Sie kombinierte Grapheme in einfachere zerlegen. Dadurch können Sie diakritische Zeichen einfach entfernen, indem Sie bestimmte Unicode-Zeichen herausfiltern.

const str = "Crème Brûlée";
str.normalize("NFD").replace(/[\u0300-\u036f]/g, ""); // "Creme Brulee"

Alternativ können Sie Unicode-Eigenschafts-Escapezeichen verwenden:

str.normalize("NFD").replace(/\p{Diacritic}/gu, "");

Sortieren von Zeichenfolgen mit Akzenten und diakritischen Zeichen

Zu Sortierzwecken können Sie das Objekt Intl.Collator verwenden, um Akzente und zu verarbeiten diakritische Normalisierung.

const c = new Intl.Collator();
[...names].sort(c.compare); // Sorts names without considering accents or diacritics

Zusätzlich können Sie String.prototype.localeCompare() verwenden, das standardmäßig Akzente und diakritische Zeichen berücksichtigt.

[...names].sort((a, b) => a.localeCompare(b));

Zusammenfassend lässt sich sagen, dass Sie String.prototype verwenden. normalize() oder Intl.Collator bietet einen robusten Ansatz zum Entfernen von Akzenten und diakritischen Zeichen aus Zeichenfolgen oder zum Sortieren von Zeichenfolgen, ohne dass dies durch Akzente beeinträchtigt wird Variationen.

Das obige ist der detaillierte Inhalt vonWie kann ich Akzente und diakritische Zeichen aus Zeichenfolgen in JavaScript entfernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn