La suppression des caractères accentués (également appelés signes diacritiques) des chaînes est un besoin courant en traitement de texte. Dans les navigateurs plus anciens comme IE6, la manipulation de tels caractères à l'aide d'expressions régulières peut être problématique.
Avec l'avènement d'ES2015/ES6, la chaîne La méthode .prototype.normalize() peut être utilisée pour cette tâche. En normalisant la chaîne selon la décomposition de forme normale Unicode (NFD), les caractères accentués sont décomposés en caractères de base et signes diacritiques.
const str = "Crème Brûlée"; str.normalize("NFD").replace(/[\u0300-\u036f]/g, ""); // "Creme Brulee"
La plage [u0300-u036f] correspond au bloc Unicode Combining Diacritical Marks. Alternativement, l'expression régulière /p{Diacritic}/gu peut être utilisée avec les échappements de propriétés Unicode.
Le tri des chaînes avec des accents peut être incohérent à l'aide de méthodes de tri simples. Intl.Collator offre des capacités de tri plus précises.
const c = new Intl.Collator(); ["creme brulee", "crème brûlée", ...].sort(c.compare); // Sorts correctly based on collation rules
L'utilisation de String.normalize() ou Intl.Collator fournit des méthodes efficaces pour supprimer les accents/diacritiques des chaînes en JavaScript. Ces solutions peuvent gérer les considérations de tri de manière plus cohérente que les méthodes traditionnelles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!