replace是字符串的方法
举个例子:
let str = "I love my my my home"
// let str1 = str.replaceAll("my", "his")
let str1 = str.replace("my", "his")
console.log(str)
console.log(str1)
这里的replace方法(替换第一个)和replaceAll方法(替换所有的)都是好使的,因为运行的环境是ts,然后js中是没有replaceAll方法,那么该如何实现placeAll的效果呢?
1.使用具有全局标志g的正则表达式
let str = "I love my my my home"
let str1 = str.replace(/my/g, "his")
console.log(str)
console.log(str1)
2.使用另外一种具有全局标志g的正则表达式的定义方法,g表示执行全局匹配,m表示多次匹配
let str = "I love my my my home"
let str1 = str.replace(new RegExp("my","gm"), "his")
console.log(str)
console.log(str1)
效果同上
3.给string对象添加原型方法replaceAll()
String.prototype.replaceAll = function(s1,s2){
return this.replace(new RegExp(s1,"gm"), s2)
}
let str = "I love my my my home"
let str1 = str.replaceAll("my", "his")
console.log(str1)
效果同上