首頁  >  文章  >  web前端  >  如何在 JavaScript 中替換所有出現的字串

如何在 JavaScript 中替換所有出現的字串

Barbara Streisand
Barbara Streisand原創
2024-10-24 14:12:02693瀏覽

How to Replace All Occurrences of a String in JavaScript

在JavaScript 中取代多次出現的字串

您可能會發現自己需要在JavaScript 中取代多次出現的字串,但是標準string.replace() 方法只刪除第一個實例。如何確保所有出現的內容都被取代?

現代解決方案(ES2021)

現代瀏覽器現在支援 String.replaceAll() 方法,該方法本身允許您替換字串的所有實例。只需使用語法:

<code class="js">string = string.replaceAll('abc', '');</code>

舊版瀏覽器的舊版解決方案

對於舊版瀏覽器,您可以使用帶有g(全局)標誌的正則表達式:

<code class="js">function replaceAll(str, find, replace) {
  return str.replace(new RegExp(find, 'g'), replace);
}</code>

轉義特殊字符

正則表達式包含特殊字符,因此在為find 參數傳遞變量時要小心。使用escapeRegExp() 函數安全地轉義任何特殊字元:

<code class="js">function escapeRegExp(str) {
  return str.replace(/[.*+?^${}()|[\]\]/g, '\$&');
}</code>

因此,更新後的ReplaceAll() 函數變為:

<code class="js">function replaceAll(str, find, replace) {
  return str.replace(new RegExp(escapeRegExp(find), 'g'), replace);
}</code>

此解決方案確保指定字串的所有出現儘管瀏覽器相容,但仍會被取代。

以上是如何在 JavaScript 中替換所有出現的字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn