有人可以告诉我如何用这个字符串中的另一个数字替换数字“2”吗?例如,如果它是2,它应该是3,如果它是3,它应该是4,等等< / p>
请注意,该号码可以是1到5之间的任意数字。
/img/tmp/2_th.jpg
答案 0 :(得分:3)
只需使用String#replace
:
s.replace(/\d+(?=_)/, "replaced");
要替换1-5中的任何数字,请使用:
s.replace(/[1-5](?=_)/, "replaced");
此处(?=_)
使用正向前瞻,确保匹配一个后跟下划线_
的数字。
更新:根据您的修改,您可以使用此代码将匹配的数字增加1:
s.replace(/([1-5])(?=_)/, function(n) {return parseInt(n)+1;});
答案 1 :(得分:0)
我从你的问题中了解到你要用下面的代码替换任何数字(“如果它是2,它应该是3,如果它是3则应该是4”)
然后你可以这样做:
var input = "/img/tmp/2_th.jpg";
var output = input.replace(/\d+/g,function(s){ return +s+1 })
结果:
"/img/tmp/3_th.jpg"