ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript で出現する文字列をすべて置換する方法

JavaScript で出現する文字列をすべて置換する方法

Barbara Streisand
リリース: 2024-10-24 14:12:02
オリジナル
778 人が閲覧しました

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート