js实现replaceAll方法
2023-06-13 09:12:40 时间
大家好,又见面了,我是你们的朋友全栈君。
js本来有replace方法,请看w3school的说明:
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);
实现替换全部匹配字符串,输出结果为:catcatcat
。
2. 使用另一种具有全局标志g的正则表达式
var str = "dogdogdog";
var str2 = str.replace(new RegExp("dog","gm"),"cat");
console.log(str2);
输出结果同上例。这里g表示执行全局匹配,m表示执行多次匹配。
3. 给string对象添加原型方法replaceAll()
String.prototype.replaceAll = function(s1, s2) {
return this.replace(new RegExp(s1, "gm"), s2);
}
这样就可以像使用replace方法一样使用replaceAll方法:
var str = "dogdogdog";
var str2 = str.replaceAll("dog", "cat");
console.log(str2);
输出结果同上例。
4. 使用先split,再join的方法
评论区@默默之
分享的这个方法太赞了,拉到正文里以免有人不看评论,感谢@默默之
分享。
var str = "dogdogdog";
var str2 = str.split("dog").join("cat")
console.log(str2);
输出结果同上例。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/163384.html原文链接:https://javaforall.cn
相关文章
- YUI Compressor插件压缩后war中的js/css文件未压缩的解决方法(被maven打包顶替了)
- 利用js实现不同域名显示不同备案的方法
- 创建JS文件:在Linux下实现自动化任务(linux创建js文件)
- 使用JS操作Oracle数据库探索潜在可能性(js和oracle数据库)
- JS类中定义原型方法的两种实现的区别
- IE不出现Flash激活框的小发现的js实现方法
- js模拟实现Array的sort方法
- Cookies欺骗漏洞的防范方法(vbs+js实现)
- ASP.NET页面刷新的实现方法(包括html,js)
- Jquery与JS两种方法仿twitter/新浪微博高度自适应无缝滚动实现代码
- js实现图片放大缩小功能后进行复杂排序的方法
- JS链式调用的实现方法
- JS子父窗口互相操作取值赋值的方法介绍
- html向js方法传递参数具体实现
- JS过滤url参数特殊字符的实现方法
- js实现的map方法示例代码
- js处理自己不能定义二维数组的方法详解
- js实现网页随机切换背景图片的方法
- 不到30行JS代码实现Excel表格的方法
- node.js中的console.warn方法使用说明
- JS实现判断滚动条滚到页面底部并执行事件的方法
- js判断浏览器版本以及浏览器内核的方法
- js中实现多态采用和继承类似的方法