热门

MySQL字段自增自减的SQL语句

PHP数组的两种合并方法与差异

Provisional headers are shown

PHP会话安全性的原则

拍摄UFO --- 单一职责原则

Redis的各项功能解决了哪些问题?

git统计代码提交行数

PHP 依赖注入

商场促销 --- 策略模式

简单工厂模式

javascript实现replaceAll方法

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

语语法:

stringObject.replace(regexp/substr,replacement)

第一个参数为一个字符串或者一个正则表达式,第二个参数为一个字符串或者一个用于生成字符串的函数。


注意重点:

如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。


实例

var str = "dogdogdog";
var str2 = str.replace("dog","cat");
console.log(str2);


这里仅替换第一个dog字符串,输出为“catdogdog”


js中是没有replaceAll方法的,那么如何实现替换所有匹配的字符串呢,即在js中实现replaceAll方法:


1. 使用具有全局标志g的正则表达式

var str = "dogdogdog";
var str2 = str.replace(/dog/g,"cat");
console.log(str2);


2. 使用另一种具有全局标志g的正则表达式的定义方法

var str = "dogdogdog";
var str2 = str.replace(new RegExp("dog","gm"),"cat");
console.log(str2);


3. 给string对象添加原型方法replaceAll()

String.prototype.replaceAll = function(s1, s2) {
    return this.replace(new RegExp(s1, "gm"), s2);
}


内容来源:https://blog.csdn.net/fukaiit/article/details/83245943