📅  最后修改于: 2023-12-03 15:01:48.630000             🧑  作者: Mango
JavaScript中已经支持使用replaceAll()函数来替换字符串中的子字符串,该方法可以实现浏览器原生的String.prototype.replaceAll()方法。本篇文章将介绍该函数的语法、使用方法以及一些注意事项。
str.replaceAll(searchValue, newValue)
首先我们需要理解JavaScript中字符串的replaceAll()函数的作用,它可以将字符串中的所有符合要求的子串替换为新的字符串。
以下例子将字符串中所有的'def'替换成'123'。
var str = 'abcdefdef';
var newStr = str.replaceAll('def', '123');
console.log(newStr); //输出"abc123123"
需要注意的是,搜索字符不是正则表达式。如果你想在字符串中替换正则表达式,应该使用replace()方法。
在大多数情况下,人们在使用字符串replace()时需要实现“全局替换”的效果,而JavaScript中的replace()方法只会替换找到的第一个子字符串。这时就需要使用replaceAll()方法。
下面的例子更好地说明了replaceAll()的使用方法:
var str = "hello world hello world";
var newStr = str.replaceAll("world", "userName");
console.log(newStr); //输出: 'hello userName hello userName'
本例中,我们将原始字符串中的'world'替换成'userName',得到了新字符串。
上面代码中使用了regex(正则表达式)来进行全局替换,但是要注意正则表达式中的"\g"如果不加上转义字符,会被解析器当做空格处理。
以下是其他常见的用法:
var str = "1,2,3";
var newStr = str.replaceAll(',', '');
console.log(newStr); //输出: '123'