Bagaimana untuk Menggantikan Semua Contoh Rentetan Khusus dalam JavaScript?

Patricia Arquette
Lepaskan: 2024-10-24 14:30:02
asal
725 orang telah melayarinya

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

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

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

Penggunaan:

<code class="javascript">console.log(replaceAll(string, 'abc', '')); // Replaces all 'abc' occurrences</code>
Salin selepas log masuk

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!

sumber:php
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!