Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mengalih Keluar Aksen dan Diakritik daripada Rentetan dalam JavaScript?
Alih Keluar Aksen dan Diakritik daripada Rentetan dalam JavaScript
Mengalih keluar aksara yang ditekankan daripada rentetan adalah penting untuk tugas seperti pengisihan dan operasi carian. Terdapat pelbagai pendekatan untuk mencapai ini dalam JavaScript.
Menggunakan Ungkapan Biasa
Satu kaedah biasa melibatkan penggunaan ungkapan biasa untuk menggantikan aksara beraksen dengan persamaan bukan aksennya. Walau bagaimanapun, dalam pelayar lama seperti IE6, ungkapan biasa mungkin menghadapi masalah.
Memanfaatkan String.prototype.normalize()
ES2015 memperkenalkan String.prototype.normalize() kaedah, yang membolehkan penormalan rentetan Unicode. Dengan menormalkan kepada bentuk "NFD", anda boleh menguraikan gabungan grafem kepada yang lebih ringkas. Ini membolehkan anda mengalih keluar diakritik dengan mudah dengan menapis aksara Unikod tertentu.
const str = "Crème Brûlée"; str.normalize("NFD").replace(/[\u0300-\u036f]/g, ""); // "Creme Brulee"
Sebagai alternatif, anda boleh menggunakan melarikan diri sifat Unikod:
str.normalize("NFD").replace(/\p{Diacritic}/gu, "");
Mengisih Rentetan dengan Aksen dan Diakritik
Untuk tujuan pengisihan, anda boleh menggunakan objek Intl.Collator untuk mengendalikan loghat dan penormalan diakritik.
const c = new Intl.Collator(); [...names].sort(c.compare); // Sorts names without considering accents or diacritics
Selain itu, anda boleh menggunakan String.prototype.localeCompare(), yang menganggap aksen dan diakritik secara lalai.
[...names].sort((a, b) => a.localeCompare(b));
Ringkasnya, menggunakan String .prototype.normalize() atau Intl.Collator menyediakan pendekatan yang mantap untuk mengalih keluar aksen dan diakritik daripada rentetan atau menyusun rentetan tanpa dipengaruhi oleh variasi aksen.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengalih Keluar Aksen dan Diakritik daripada Rentetan dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!