JS replace() 方法全局替换(删除)字符串的所有指定字符,接受变量

目的:把一段字符串里的指定字符全部替换或者删除。

tips:删除只需要把后面的值改为 " " 即可

 

1.replace基础用法:

string.replace("a","b"); //把string里面的第一个'a'替换成'b';

 

2.全局替换固定字符:

// 正则加个参数 g ,表示全文匹配。

string.replace(/a/g,"b"); //把string里面的所有'a'替换成'b';

 

3.全局替换变量:

//这是正则的另一种写法,利用JS的 RegExp 对象,将 g 参数单拿了出来

string.replace(new RegExp(key,'g'),"b"); //传一个变量key,把string里面的所有key值替换成'b'

 

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

 

提示:在es12中,String已经自带了replaceAll()方法:

"aabbcc".replaceAll("b", ".")
// 'aa..cc'

 

posted @ 2020-03-04 15:47  william_new  阅读(11105)  评论(0编辑  收藏  举报