[解決済み】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 メソッドを使用してください。しかし、ほとんどの典型的なユースケースでは、特殊文字について心配する必要がないことに十分な価値があります。
関連
-
[解決済み】フォームコントロールの値アクセサがない
-
[解決済み】Syntax error: JavaScriptの不正なreturnステートメント
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み] JavaScriptのオブジェクトをループスルーまたは列挙するにはどうすればよいですか?
-
[解決済み] バイトを文字列に変換する
-
[解決済み] JavaScriptで文字列をbooleanに変換するにはどうしたらいいですか?
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】TypeError: 'undefined'はオブジェクトではありません。
-
[解決済み】NodeJS "ESモジュールをロードするためにインポートを使用する必要があります。"
-
[解決済み】Javascriptのコールバック関数がFirefoxで「Callback is not a function」というエラーを投げる
-
[解決済み】 Uncaught Reference Error: stLight is not defined (in Chrome only)
-
[解決済み] String.prototype.replaceAll()が動作しない[重複]。
-
[解決済み] JavaScript - 文字列内のすべてのカンマを置換する [重複].
-
[解決済み] 文字列中のある文字のすべてのインスタンスを置換する最速の方法 [重複]。
-
[解決済み】文字列内のすべてのスペースを「+」に置換する【重複あり
-
[解決済み] replaceを使用すると、なぜjavascriptは最初のインスタンスだけを置き換えるのですか?重複
-
[解決済み] JavaScriptの.replaceは最初のマッチだけを置き換える [重複]。