Diberi rentetan seperti "Ujian abc test abc test test abc test test abc test test abc", menggantikan kejadian pertama "abc" menggunakan string.replace('abc', '') tidak mencukupi. Soalan ini menangani cara untuk menggantikan semua kejadian rentetan dalam JavaScript.
Penyelesaian Moden (ECMAScript 2021 dan Kemudian):
Untuk penyemak imbas moden yang menyokong spesifikasi ECMAScript 2021, anda boleh menggunakan kaedah String.replaceAll():
<code class="javascript">str = str.replaceAll('abc', '');</code>
Penyelesaian Penyemak Imbas Lama:
Untuk pelayar lama atau lama yang kekurangan String.replaceAll(), fungsi tersuai berikut boleh digunakan:
<code class="javascript">function replaceAll(str, find, replace) { return str.replace(new RegExp(escapeRegExp(find), 'g'), replace); } function escapeRegExp(str) { return str.replace(/[.*+?^${}()|[\]\]/g, '\$&'); // $& means the whole matched string }</code>
Corak ini telah diperhalusi beberapa kali, akhirnya menghasilkan fungsi replaceAll() di atas, yang menampung hujah rentetan dalam parameter find mengikut pra -memprosesnya untuk melepaskan watak istimewa.
Atas ialah kandungan terperinci Bagaimana untuk Menggantikan Semua Kejadian Rentetan dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!