JavaScript の文字列からアクセント記号と発音記号を削除する
文字列からアクセント記号付き文字を削除することは、並べ替えや検索操作などのタスクに不可欠です。 JavaScript でこれを実現するには、さまざまな方法があります。
正規表現の使用
一般的な方法の 1 つは、正規表現を使用して、アクセント付き文字をアクセント付きでない同等の文字に置き換えることです。ただし、IE6 などの古いブラウザでは、正規表現で問題が発生する可能性があります。
String.prototype.normalize() の利用
ES2015 では String.prototype.normalize() が導入されました。このメソッドにより、Unicode 文字列の正規化が可能になります。 「NFD」形式に正規化することで、結合された書記素をより単純な書記素に分解できます。これにより、特定の Unicode 文字をフィルタリングして、発音記号を簡単に削除できます。
const str = "Crème Brûlée"; str.normalize("NFD").replace(/[\u0300-\u036f]/g, ""); // "Creme Brulee"
または、Unicode プロパティ エスケープを使用することもできます。
str.normalize("NFD").replace(/\p{Diacritic}/gu, "");
アクセント記号と発音記号を含む文字列の並べ替え
並べ替えの目的で、アクセント記号と発音記号の正規化を処理するための Intl.Collator オブジェクト。
const c = new Intl.Collator(); [...names].sort(c.compare); // Sorts names without considering accents or diacritics
さらに、デフォルトでアクセント記号と発音記号を考慮する String.prototype.localeCompare() を使用できます。
[...names].sort((a, b) => a.localeCompare(b));
要約すると、String.prototype.normalize() または Intl.Collator を使用すると、削除するための堅牢なアプローチが提供されます。アクセントの変化の影響を受けることなく、文字列からアクセントと発音記号を抽出したり、文字列を並べ替えたりできます。
以上がJavaScript の文字列からアクセント記号と発音記号を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。