1. 单独使用replace()
例子:
var str = "dogdogdog";
var str2 = str.replace("dog","cat");
console.log(str2);
输出为:catdogdog。这里仅替换第一个dog字符串。
注:js中是没有replaceAll方法的,那如何使用replace方法实现replaceAll的效果呢??
1. 使用具有全局标志g的正则表达式
例子:
var str = "dogdogdog";
var str2 = str.replace(/dog/g,"cat");
console.log(str2);
输出结果为:catcatcat。这里实现替换全部匹配字符串。
2. 使用另一种具有全局标志g的正则表达式的定义方法
例子:
var str = "dogdogdog";
var str2 = str.replace(new RegExp("dog","gm"),"cat");
console.log(str2);
输出结果为:catcatcat。这里g表示执行全局匹配,m表示执行多次匹配。
3. 给string对象添加原型方法replaceAll()
例子:
String.prototype.replaceAll = function(s1, s2) {
return this.replace(new RegExp(s1, "gm"), s2);
}
var str = "dogdogdog";
var str2 = str.replaceAll("dog", "cat");
console.log(str2);
输出结果为:catcatcat。