ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript で特定の文字列のすべてのインスタンスを置換するにはどうすればよいですか?

JavaScript で特定の文字列のすべてのインスタンスを置換するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-24 14:30:02726ブラウズ

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

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

問題:

JavaScript の組み込み replace( ) メソッドを使用して部分文字列を置換すると、次の例に示すように、最初に出現した部分のみが置換されます:

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

JavaScript で部分文字列のすべての出現を置換するにはどうすればよいですか?

解決策:

String.replaceAll() の使用

最新のブラウザ:

最新のブラウザは String.replaceAll() メソッドをサポートしています。出現するすべての部分文字列を指定された置換で置き換えます:

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

古い/レガシー ブラウザの場合

カスタム関数:

古いまたはレガシーの場合String.replaceAll() をサポートしていないブラウザでは、カスタム関数を使用できます:

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

使用法:

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

注:

  • escapeRegExp() 関数は、検索文字列内の特殊文字をエスケープして、正確な一致を保証します。
  • 正規表現内の g フラグにより​​、出現したすべての文字が置換されます。

以上がJavaScript で特定の文字列のすべてのインスタンスを置換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。