Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Menggantikan Semua Contoh Rentetan Khusus dalam JavaScript?

Bagaimana untuk Menggantikan Semua Contoh Rentetan Khusus dalam JavaScript?

Patricia Arquette
Patricia Arquetteasal
2024-10-24 14:30:02726semak imbas

How to Replace All Instances of a Specific String in JavaScript?

Cara Menggantikan Semua Kejadian Rentetan 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:

Menggunakan String.replaceAll()

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>

Untuk Pelayar Lama/Legasi

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:

  • Fungsi escapeRegExp() melarikan diri daripada aksara khas dalam rentetan carian untuk memastikan padanan yang tepat.
  • Bendera g dalam ungkapan biasa memastikan semua kejadian diganti.

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!

Kenyataan:
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