[解決済み] JavaScript - 文字列内のすべてのカンマを置換する [重複].
2022-03-14 03:51:24
質問
カンマが複数ある文字列があるのですが、文字列の置換メソッドでは、最初の1つしか変更できません。
var mystring = "this,is,a,test"
mystring.replace(",","newchar", -1)
結果
:
"thisnewcharis,a,test"
ドキュメントによると、デフォルトではすべてを置換し、"-1"もすべてを置換することを示していますが、失敗しています。何か良い方法はないでしょうか?
解決方法は?
の第3パラメータは
String.prototype.replace()
関数は標準として定義されていないため、ほとんどのブラウザは単に実装していません。
最良の方法は
正規表現
と共に
g
(
グローバル
) のフラグを設定します。
var myStr = 'this,is,a,test';
var newStr = myStr.replace(/,/g, '-');
console.log( newStr ); // "this-is-a-test"
まだ問題がありますか?
注意しなければならないのは、正規表現では
エスケープする必要がある特殊文字
. 例えば、ドット(
.
) 文字を使用する場合は
/\./
正規表現の構文では、ドットは任意の1文字(行末を除く)にマッチするからです。
var myStr = 'this.is.a.test';
var newStr = myStr.replace(/\./g, '-');
console.log( newStr ); // "this-is-a-test"
変数を置換文字列として渡す必要がある場合、正規表現リテラルの代わりに
RegExp
オブジェクトと
コンストラクタの第一引数に文字列を渡します。
. 通常の文字列エスケープルール(特殊文字の前に
\
が必要です。
var myStr = 'this.is.a.test';
var reStr = '\\.';
var newStr = myStr.replace(new RegExp(reStr, 'g'), '-');
console.log( newStr ); // "this-is-a-test"
関連
-
[解決済み】リソースはドキュメントと解釈されるが、MIMEタイプはapplication/zipで転送される
-
[解決済み】未定義のプロパティ 'forEach' を読み取ることができない
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScriptでランダムな文字列/文字を生成する
-
[解決済み] JavaScriptで変数が文字列かどうかをチェックする
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Javascript:getElementById対getElementsById(両方が別のページで動作する)。
-
[解決済み】「Uncaught TypeError: Chromeで "Illegal invocation "が発生する。
-
[解決済み] React with ES7: Uncaught TypeError: Cannot read property 'state' of undefined [duplicate] (未定義のプロパティ'state'を読み込むことはできません。
-
[解決済み】React.jsの配列の子要素のユニークキーを理解する
-
[解決済み】エラー:リクエストのエンティティが大きすぎる
-
[解決済み】Redux TypeError: 未定義のプロパティ 'apply' を読み取れない
-
[解決済み】 \u003C とは何ですか?
-
[解決済み] JavaScriptで文字列からカンマを除去する
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】jQuery - 文字列内の文字のすべてのインスタンスを置換する【重複】。