上午师傅给我留了任务,让想想怎样用正则表达式,在字符串中找到数字,并替换数字。以下代码是在一段字符串中,用正则表达式找到数字,使用 replace() 方法,用找到的数字的两倍值替换原数字。replace() 方法的第二个参数为一个函数,返回找到数字的两倍值。
<script> var str="去年是2014年,今年是2015年"; var newStr=str.replace(/\d+/g, function () { //调用方法时内部会产生 this 和 arguments console.log(arguments[0]); //查找数字后,可以对数字进行其他操作 return arguments[0] * 2; }); console.log(newStr); </script>
正则表达式 /\d+/g: 匹配至少一个数字。
调用函数时内部会生成 arguments,console.log(arguments); 的结果:
需要取得的是数字 2014 和 2015,所以只要取得 arguments[0] 即可。
console.log(arguments[0]); 的结果:
最终结果得到:" 去年是4028年,今年是4030年 "
查找数字后,也可以对数字进行其他操作
时间: 2024-10-11 17:16:10