1. ホーム
  2. ジャバスクリプト

[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法

2022-03-18 04:23:17

質問

私のJavaScriptのコードに次のような文字列があります。

"Test abc test test abc test test test abc test test abc"

すること。

str = str.replace('abc', '');

のみを削除しているようです。 abc という文字列があります。

をどのように置き換えることができますか? すべて の出現は?

解決方法は?

更新してください。 ほとんどの一般的なブラウザの最新バージョンで replaceAll のようになります。

let result = "1 abc 2 abc 3".replaceAll("abc", "xyz");
// `result` is "1 xyz 2 xyz 3"

しかし、チェック を使用することはできますか? や他の互換性テーブルをまず確認し、対象としているブラウザがサポートを追加していることを確認してください。


Nodeと古い/最新でないブラウザとの互換性のために。

注意:パフォーマンスが重要なコードでは、以下の解決策を使用しないでください。

単純なリテラル文字列の正規表現に代わる方法として

str = "Test abc test test abc test...".split("abc").join("");

一般的なパターンは

str.split(search).join(replacement)

を使用するよりも高速になる場合がありました。 replaceAll と正規表現がありますが、最近のブラウザではもうそのようなことはないようです。

ベンチマーク https://jsben.ch/TZYzj

おわりに

もしパフォーマンスが重要なユースケース(例えば何百もの文字列を処理する)があるならば、Regexp メソッドを使用してください。しかし、ほとんどの典型的なユースケースでは、特殊文字について心配する必要がないことに十分な価値があります。