给定一个字符串:
s = "Test abc test test abc test test test abc test test abc";
这似乎只删除了上面字符串中的第一个abc
:
s = s.replace('abc', '');
如何替换所有的它的出现?
在大多数流行浏览器的最新版本中,您可以使用 replaceAll
,如下所示:
let result = "1 abc 2 abc 3".replaceAll("abc", "xyz");
// `result` 是 "1 xyz 2 xyz 3"
但首先检查 Can I use 或其他兼容性表,以确保您的目标浏览器已经添加了对它的支持。
对于 Node.js 和与旧版/非当前浏览器的兼容性:
注意:不要在性能关键代码中使用以下解决方案。
作为针对简单字面字符串的正则表达式的替代方案,您可以使用
str = "Test abc test test abc test...".split("abc").join("");
一般模式是
str.split(search).join(replacement)
这在某些情况下比使用 replaceAll
和正则表达式更快,但在现代浏览器中似乎已经不再是这样了。
结论:
如果您有性能关键用例(例如处理数百个字符串),请使用正则表达式方法。但对于大多数典型用例,这值得不必担心特殊字符。
标签:abc,浏览器,xyz,JavaScript,test,replaceAll,字符串,替换 From: https://www.cnblogs.com/xiaomandujia/p/17755673.html