Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Mengalih Keluar Aksen dan Diakritik daripada Rentetan dalam JavaScript?

Bagaimanakah Saya Boleh Mengalih Keluar Aksen dan Diakritik daripada Rentetan dalam JavaScript?

Mary-Kate Olsen
Lepaskan: 2024-12-25 19:43:09
asal
1009 orang telah melayarinya

How Can I Remove Accents and Diacritics from Strings in 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"
Salin selepas log masuk

Sebagai alternatif, anda boleh menggunakan melarikan diri sifat Unikod:

str.normalize("NFD").replace(/\p{Diacritic}/gu, "");
Salin selepas log masuk

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
Salin selepas log masuk

Selain itu, anda boleh menggunakan String.prototype.localeCompare(), yang menganggap aksen dan diakritik secara lalai.

[...names].sort((a, b) => a.localeCompare(b));
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan