1. ホーム
  2. javascript

[解決済み] Javascriptで、'/'と'/g'内の変数を持つ文字列のグローバル置換を行うにはどうしたらいいですか?

2023-05-15 07:04:38

質問

JavascriptのString.replaceを使って文字列のグローバル置換を行いたいのですが、どのような方法がありますか?

ドキュメントでは、私は/gでこれを行うことができると読みました、すなわち、例えば。

var mystring = mystring.replace(/test/g, mystring);

と書くと、mystringの中にある全ての文字列が置き換えられます。式に引用符はつけません。

しかし、私は見つけるために変数を持っている場合、私は引用符なしでこれを行うにはどうすればよいですか?

こんな感じでやってみました。

var stringToFind = "test";

//最初の試み

mystring = mystring.replace('/' + stringToFind + '/g', mystring);

//2回目の挑戦、全く意味がない

mystring = mystring.replace(/stringToFind/g, mystring);

のように表示されるのですが、うまくいきません。何かアイデアはありますか?

どのように解決するのですか?

prototype.jsは使えるのでしょうか?もし使えるなら、String.gsubを使って、次のようにします。

var myStr = "a day in a life of a thing";
 var replace = "a";
 var resultString = myStr.gsub(replace, "g");
 // resultString will be "g day in g life of g thing"

また、正規表現も取れるようになります。 私にとっては、これはよりエレガントな解決方法の一つです。 prototypejs gsub ドキュメント