112

変数内のすべての文字列を置き換える必要があります。

var a = "::::::";
a = a.replace(":", "hi");
console.log(a);

上記のコードは、最初の文字列のみを置き換えます。hi:::::: 使用replaceAllしましたが、動作しません。

4

2 に答える 2

196

JavaScript にはありませんreplaceAll。エラー コンソールはおそらくエラーを報告していました。

代わりに、/g("グローバルに一致") 修飾子を正規表現引数と共に使用して、次のようにしreplaceます。

const a = "::::::";
const replaced = a.replace(/:/g,"hi");
console.log(replaced);

これはMDN: String.replace (および他の場所) でカバーされています。

于 2012-11-12T08:06:29.987 に答える
70

replaceAllJavaScript には機能がありません。

pst の回答に示されているように、グローバル識別子で正規表現を使用できます。

a.replace(/:/g,"hi");

正規表現の必要性を排除するために一部の人々が好む別の方法は、次のように JavaScript の関数splitjoin関数を使用することです。

a.split(":").join("hi");

ただし、2 番目のアプローチは遅いことに注意してください。

于 2012-11-12T08:08:42.837 に答える