replace()方法的第二个参数

xiaoxiao2021-02-28  77

关于replace()方法的第二个参数

第一种情况是直接传入替换后的字符串,这个就不多说了。

第二种情况是传入一个回调函数,正则表达式匹配到几个结果就会执行几次回调,函数内arguments对象存放着匹配项,函数返回值是要改变后的值。看代码

var str='讨论一下正则表达式中的replace的用法'; str.replace(/(正则).+?(式)/,function() { console.log(arguments); }); // ["正则表达式", "正则", "式", 4, "讨论一下正则表达式中的replace的用法"] str.replace(/(正则).+?(式)/g,function() { console.log(arguments); }); // ["正则表达式", "正则", "式", 4, "讨论一下正则表达式中的replace的正则表达式用法"] // ["正则表达式", "正则", "式", 19, "讨论一下正则表达式中的replace的正则表达式用法"]

实际应用

var str = '20180502'; var arr = ['零','壹','贰','叁','肆','伍','陆','柒','捌','玖']; str = str.replace(/\d/g, function(){ return arr[Number(arguments[0])] }) console.log(str) //贰零壹捌零伍零贰 参考文章地址
转载请注明原文地址: https://www.6miu.com/read-2622877.html

最新回复(0)