String.prototype.replaceAll() 不工作
2022-08-30 04:55:36
我需要替换变量中的所有字符串。
var a = "::::::";
a = a.replace(":", "hi");
console.log(a);
上面的代码只替换第一个字符串,即我用过,但它不起作用。hi::::::
replaceAll
我需要替换变量中的所有字符串。
var a = "::::::";
a = a.replace(":", "hi");
console.log(a);
上面的代码只替换第一个字符串,即我用过,但它不起作用。hi::::::
replaceAll
更新:所有最新版本的主要浏览器,以及NodeJS 15 +现在支持replaceAll
源语言:
JavaScript中没有:错误控制台可能报告了错误。replaceAll
相反,使用(“全局匹配”)修饰符和正则表达式参数来:/g
replace
const a = "::::::";
const replaced = a.replace(/:/g,"hi");
console.log(replaced);
MDN: String.replace(和其他地方)中对此进行了介绍。
JavaScript 中没有函数。replaceAll
您可以使用具有全局标识符的正则表达式,如 pst 的答案所示:
a.replace(/:/g,"hi");
有些人更喜欢的一种替代方案,因为它消除了对正则表达式的需求,那就是使用JavaScript和函数,如下所示:split
join
a.split(":").join("hi");
然而,值得注意的是,第二种方法的速度较慢。