JS中replace方法全局替换示例我们经常使用replace来替换字符串中某个字符,
比如:
var a='abcde';
var b=a.replace(/a/,'b');
console.log(b);
打印的结果是:‘bbcde’
但今天在测试replace方法时,发现它默认只替换第一个匹配的项,比如下面代码,
var a='aacde';
var b=a.replace(/a/,'b');
console.log(b);
打印的结果是:'bacde',而实际上我们想要得到的结果是:'bbcde'。
在网上查了一些解决方法,有用循环判断的,也有用正规表达式的,实际上都不需要这么复杂,replace提供了全局标识来帮我们解决这些问题。
比如:
g代表全局替换,
i代表忽略大小写。
比如还是上面代码:
var a='aacde';
var b=a.replace(/a/g,'b');
console.log(b);
这样,打印出来的结果就是:'bbcde'了。