美文网首页
JS replaceAll

JS replaceAll

作者: 狂飙的蜗牛_013d | 来源:发表于2018-10-08 18:38 被阅读0次

JS 字符串替换操作有replace() 方法。但是这个方法有些问题,就是只能替换目标字符串中第一个匹配的字符串。

比如

var str = "wordwordwordword";
var strNew = str.replace("word","Excel");
alert(strNew);

如果要将目标字符串全部替换的话,java里可以用replaceAll,但是JS 没有提供这样的方法。使用正则表达式可以达到replaceAll的效果:

str.replace(/word/g,"Excel") ;

g 的意义是:执行全局匹配(查找所有匹配而不是在找到第一个匹配后停止)。

以上写法有个相似的写法:

str.replace(new RegExp("word","gm"),"Excel") 

g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m 执行多行匹配。

除此之外,也可以添加 Stirng对象的原型方法,这样就可以随时向使用relpace一样使用replaceAll:

String.prototype.replaceAll  = function(s1,s2){     
    return this.replace(new RegExp(s1,"gm"),s2);     
}   

相关文章

网友评论

      本文标题:JS replaceAll

      本文链接:https://www.haomeiwen.com/subject/prijaftx.html