目的:把一段字符串里的指定字符全部替换或者删除。
tips:删除只需要把后面的值改为 " " 即可
1.replace基础用法:
string.replace("a","b"); //把string里面的第一个'a'替换成'b';
2.全局替换固定字符:
string.replace(/a/g,"b"); //把string里面的所有'a'替换成'b';正则加个参数 g ,表示全文匹配。
3.全局替换变量:
string.replace(new RegExp(key,'g'),"b"); //传一个变量key,把string里面的所有key值替换成'b' //这是正则的另一种写法,利用JS的 RegExp 对象,将 g 参数单拿了出来
4.封装函数:
function replaceAll(str,preVal,replaceVal){ return str.replace(new RegExp(preVal,'g'),replaceVal); } replaceAll("你你我我他他","他",""); // "你你我我" replaceAll("你你我我他他","他","它"); // "你你我我它它"
5.虽然封装了函数,但是感觉有点繁琐,让我们在String的原型链上添加方法,调用起来更方便:
String.prototype.replaceAll=function(preVal,replaceVal){ return this.replace(new RegExp(preVal,'g'),replaceVal); } var a ="你你我我他他"; a.replaceAll("他","") //你你我我 a.replaceAll("他","它") //你你我我它它 String("12341234").replaceAll("34",""); //1212