3

文字列内の複数のカレット(^)をJavascript内のスペースに置き換えようとしています。replace()のw3schoolsエントリに続いて、次のコードを使用しました。

var str = "Salt^Lake^City, UT";
var result = str.replace(/^/g, " ");

ただし、の値resultは「Salt ^ Lake ^ City、UT」です。このコードを実行すると、1つのカレットが置き換えられます。

var result = str.replace("^", " ");

しかし、私は任意の数のキャレットをすべて交換したいと思います。Javascriptでグローバルに置き換えることについて私が見逃している明らかな何かがありますか?すべてのキャレットを削除するためにを使用して関数を作成することもできstr.replace("^", " ");ますが、組み込みのグローバル置換を使用したいと思います。

4

2 に答える 2

8

文字は正規表現の^文字列の先頭に一致するため、リテラル文字として扱われるようにエスケープする必要があります。そのため、この例では、結果文字列の先頭に新しいスペースが追加されています。

var result = str.replace(/\^/g, " ");
于 2013-03-13T17:53:37.507 に答える
1

ラウンドアバウトという別の便利な方法を使用することもできます。

var result = str.split('^').join(' ') ;
于 2013-03-13T18:12:20.193 に答える