谁能告诉我如何用这个字符串中的另一个数字替换数字“2”?例如,如果是 2,则应该是 3,如果是 3,则应该是 4,等等。
请注意,数字可以是 1 到 5 之间的任何数字。
/img/tmp/2_th.jpg
谁能告诉我如何用这个字符串中的另一个数字替换数字“2”?例如,如果是 2,则应该是 3,如果是 3,则应该是 4,等等。
请注意,数字可以是 1 到 5 之间的任何数字。
/img/tmp/2_th.jpg
只需使用String#replace
:
s.replace(/\d+(?=_)/, "replaced");
要替换 1-5 中的任何数字,请使用:
s.replace(/[1-5](?=_)/, "replaced");
这里(?=_)
使用了一个肯定的前瞻,它确保匹配一个后跟下划线的数字_
。
更新:根据您的编辑,您可以使用此代码将匹配的数字增加 1:
s.replace(/([1-5])(?=_)/, function(n) {return parseInt(n)+1;});
我从您的问题中了解到,您想用以下数字替换任何数字(“如果是 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"