Fork me on GitHub

js replace()实现全部替换

var r= "1\n2\n3\n";
//将字母\n替换成分号
alert(r.replace("\n",";"));

结果:1;2\n3\n 只替换了第一个

var r= "1\n2\n3\n";
//将字母\n替换成分号
alert(r.replace(/\n/g, ";"));

结果:1;2;3; replace 的第一个参数可以是正则表达式,/g标识全文匹配。
g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m 执行多行匹配。
除此之外,也可以添加 Stirng对象的原型方法:
String.prototype.replaceAll = function(s1,s2){ 
return this.replace(new RegExp(s1,"gm"),s2); 
}

这样就可以像使用replace 方法一样使用replaceAll了
str.replaceAll("word","Excel");
总结一下, 三种方式
1. str.replace(/oldString/g,newString)
2. str.replace(new RegExp(oldString,"gm"),newString)
3. 增加String 对象原型方法 replaceAll

JS没有像Java一样提供replaceAll这样的方法。使用正则表达式可以达成全部替换的效果。(注意特殊字符需要转义)

posted @ 2017-10-14 10:11  cosyer  阅读(1463)  评论(0编辑  收藏  举报