我想要一个可以用特定规则替换大字符串中的子字符串的函数。
例如,我希望字符串中pageX
的每个数字都增加10。
function replace(str, increment){}
做replace("pageX : 100, pageY: 200,......pageX : 120...", 10)
将获得"pageX : 110, pageY: 200,......pageX : 130..."
我知道string.replace(/pageX :/g,someStr)
可以执行replaceAll
,但不能应用任何规则。
我怎么能得到它?
答案 0 :(得分:1)
如何使用replace
函数回调:
var string = "pageX : 100, pageY: 200,......pageX : 120...";
string = string.replace(/(\d+)/g, function(match, contents) {
return (+contents + 10);
});
console.log(string);
答案 1 :(得分:0)
使用带有\d+
模式的Regexp匹配所有数字,并使用String.replace
能力通过函数调用生成替换。乘以(或以其他方式)修改匹配的数字并将它们放回去。