Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Menggantikan Semua Contoh Rentetan Khusus dalam JavaScript?
Masalah:
Apabila menggunakan JavaScript terbina dalam replace( ) kaedah untuk menggantikan subrentetan, hanya kejadian pertama diganti, seperti yang dilihat dalam contoh ini:
<code class="javascript">var string = "Test abc test test abc test test test abc test test abc"; string = string.replace('abc', ''); // Only replaces the first 'abc' occurrence</code>
Bagaimanakah kita boleh menggantikan semua kejadian subrentetan dalam JavaScript?
Penyelesaian:
Pelayar Moden:
Pelayar moden menyokong kaedah String.replaceAll(), yang menggantikan semua kejadian subrentetan dengan penggantian yang ditentukan:
<code class="javascript">string = string.replaceAll('abc', ''); // Replaces all 'abc' occurrences</code>
Fungsi Tersuai:
Untuk yang lebih lama atau lama pelayar yang tidak menyokong String.replaceAll(), kita boleh menggunakan fungsi tersuai:
<code class="javascript">function replaceAll(str, find, replace) { return str.replace(new RegExp(escapeRegExp(find), 'g'), replace); } function escapeRegExp(str) { return str.replace(/[.*+?^${}()|[\]\]/g, '\$&'); }</code>
Penggunaan:
<code class="javascript">console.log(replaceAll(string, 'abc', '')); // Replaces all 'abc' occurrences</code>
Nota:
Atas ialah kandungan terperinci Bagaimana untuk Menggantikan Semua Contoh Rentetan Khusus dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!