如何使用JavaScript替换此字符串中的数字?

时间:2013-09-30 14:29:35

标签: javascript regex string

有人可以告诉我如何用这个字符串中的另一个数字替换数字“2”吗?例如,如果它是2,它应该是3,如果它是3,它应该是4,等等< / p>

请注意,该号码可以是1到5之间的任意数字。

/img/tmp/2_th.jpg

2 个答案:

答案 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;});

Read More About Lookarounds in Regex

答案 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"