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
Freigeben: 2024-12-25 19:43:09
Original
982 Leute haben es durchsucht

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"
Nach dem Login kopieren

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

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

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
Nach dem Login kopieren

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));
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage