ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript の文字列からアクセントを効率的に削除するにはどうすればよいですか?
文字列からアクセント付き文字 (発音記号とも呼ばれる) を削除することは、一般的なニーズです。テキスト処理で。 IE6 などの古いブラウザでは、正規表現を使用してこのような文字を操作すると問題が発生する可能性があります。
ES2015/ES6 の出現により、Stringこのタスクには .prototype.normalize() メソッドを使用できます。文字列を Unicode 標準形式分解 (NFD) に正規化することにより、アクセント付き文字は基本文字と発音区別符号に分割されます。
const str = "Crème Brûlée"; str.normalize("NFD").replace(/[\u0300-\u036f]/g, ""); // "Creme Brulee"
範囲 [u0300-u036f] は、Unicode 結合発音記号ブロックと一致します。あるいは、/p{Diacritic}/gu 正規表現を Unicode プロパティ エスケープとともに使用することもできます。
アクセントを含む文字列の並べ替えは、単純な並べ替え方法を使用すると一貫性がなくなる可能性があります。 Intl.Collator は、より正確な並べ替え機能を提供します。
const c = new Intl.Collator(); ["creme brulee", "crème brûlée", ...].sort(c.compare); // Sorts correctly based on collation rules
String.normalize() または Intl.Collator を使用すると、JavaScript の文字列からアクセント記号/発音記号を削除する効果的な方法が提供されます。これらのソリューションは、従来の方法よりも一貫して並べ替えの考慮事項を処理できます。
以上がJavaScript の文字列からアクセントを効率的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。