Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Mengeluarkan Aksen dengan Cekap daripada Rentetan dalam JavaScript?

Bagaimanakah Saya Boleh Mengeluarkan Aksen dengan Cekap daripada Rentetan dalam JavaScript?

DDD
Lepaskan: 2024-12-18 02:49:14
asal
218 orang telah melayarinya

How Can I Efficiently Remove Accents from Strings in JavaScript?

Mengalih keluar Aksen/Diakritik daripada Rentetan dalam JavaScript

Latar Belakang dan Cabaran

Mengalih keluar aksara yang ditekankan (juga dikenali sebagai diakritik) daripada rentetan adalah keperluan biasa dalam pemprosesan teks. Dalam pelayar lama seperti IE6, memanipulasi aksara sedemikian menggunakan ungkapan biasa boleh menjadi masalah.

Pendekatan Menggunakan ES2015/ES6 String.prototype.normalize()

Dengan kemunculan ES2015/ES6, String Kaedah .prototype.normalize() boleh digunakan untuk tugas ini. Dengan menormalkan rentetan kepada Unicode Normal Form Decomposition (NFD), aksara beraksen dipecahkan kepada aksara asas dan tanda diakritiknya.

const str = "Crème Brûlée";
str.normalize("NFD").replace(/[\u0300-\u036f]/g, ""); // "Creme Brulee"
Salin selepas log masuk

Julat [u0300-u036f] sepadan dengan blok Unicode Combining Diacritical Marks. Sebagai alternatif, ungkapan biasa /p{Diacritic}/gu boleh digunakan dengan sifat Unicode melarikan diri.

Pertimbangan Isih

Isih rentetan dengan aksen boleh menjadi tidak konsisten menggunakan kaedah isihan mudah. Intl.Collator menyediakan keupayaan pengisihan yang lebih tepat.

const c = new Intl.Collator();
["creme brulee", "crème brûlée", ...].sort(c.compare);
// Sorts correctly based on collation rules
Salin selepas log masuk

Kesimpulan

Menggunakan String.normalize() atau Intl.Collator menyediakan kaedah yang berkesan untuk mengalih keluar aksen/diakritik daripada rentetan dalam JavaScript. Penyelesaian ini boleh mengendalikan pertimbangan pengisihan dengan lebih konsisten daripada kaedah tradisional.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Aksen dengan Cekap 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan