Heim > Web-Frontend > js-Tutorial > Wie entferne ich Akzente aus Zeichenfolgen in JavaScript?

Wie entferne ich Akzente aus Zeichenfolgen in JavaScript?

Mary-Kate Olsen
Freigeben: 2024-12-13 16:15:10
Original
435 Leute haben es durchsucht

How to Remove Accents from Strings in JavaScript?

Akzente/Diakritika in einer Zeichenfolge in JavaScript entfernen

Um akzentuierte Zeichen aus einer Zeichenfolge zu entfernen, ist es notwendig, eine umfassende Methode zu verwenden Prozess, der die Normalisierung von Zeichenfolgen und den Abgleich von Zeichenklassen umfasst. Hier ist eine detaillierte Anleitung, wie Sie dies erreichen können:

ES2015/ES6-Lösung mit String.prototype.normalize()

const str = "Crème Brûlée";
const accentedCharsRegex = /[\u0300-\u036f]/g;

const normalizedStr = str.normalize("NFD");
const accentsRemovedStr = normalizedStr.replace(accentedCharsRegex, "");

console.log(accentsRemovedStr); // "Creme Brulee"
Nach dem Login kopieren

Hier ist normalize("NFD ")-Methode zerlegt die kombinierten Zeichen (z. B. è) in ihre Bestandteile (e und ̀). Anschließend zielt der reguläre Ausdruck [u0300-u036f] auf alle diakritischen Zeichen innerhalb des angegebenen Unicode-Bereichs ab und ersetzt sie.

Unicode-Eigenschafts-Escape-Methode

Innerhalb von ES2020 können Sie diese nutzen Unicode-Eigenschafts-Escapezeichen für einen prägnanteren Ansatz:

const str = "Crème Brûlée";
const accentsRemovedStr = str.normalize("NFD").replace(/\p{Diacritic}/gu, "");

console.log(accentsRemovedStr); // "Creme Brulee"
Nach dem Login kopieren

Diese Methode nutzt die p{Diacritic}-Eigenschafts-Escape, um alle diakritischen Zeichen abzugleichen, anstatt einen bestimmten Unicode-Bereich zu definieren.

Sortieren mit Intl.Collator

Wenn Ihr primäres Ziel darin besteht, mit Akzent zu sortieren Zeichenfolgen können Sie die Verwendung von Intl.Collator in Betracht ziehen, das eine zufriedenstellende Unterstützung für akzentsensitive Sortierung bietet:

const strArr = ["crème brûlée", "crame brulai", "creme brulee", "crexe brulee", "crome brouillé"];

const collator = new Intl.Collator();
const sortedArr = strArr.sort(collator.compare);

console.log(sortedArr);
Nach dem Login kopieren

Standardmäßig ist Intl.Collator sortiert Zeichenfolgen unter Berücksichtigung der Groß- und Kleinschreibung und ohne Berücksichtigung von Akzenten. Um eine akzentsensitive Sortierung zu erreichen, ist es wichtig, bei der Instanziierung von Intl.Collator spezifische Regeln zu definieren.

Das obige ist der detaillierte Inhalt vonWie entferne ich Akzente aus Zeichenfolgen in JavaScript?. 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