Javascript 在字符串末尾递增一个数字
我想要一些帮助来编写JavaScript函数,该函数将检测字符串末尾的连字符和数字: 即 如果我的字符串末尾有一个连字符,那么在连字符后面取数字,并将其递增1 即 你可以Javascript 在字符串末尾递增一个数字,javascript,string,Javascript,String,我想要一些帮助来编写JavaScript函数,该函数将检测字符串末尾的连字符和数字: 即 如果我的字符串末尾有一个连字符,那么在连字符后面取数字,并将其递增1 即 你可以 x = x.replace(/-\d+$/, function(n){ return '-'+(1-n) }); 仅当数字位于连字符之后且位于字符串末尾时,此操作才会增加该数字。您可以沿着以下几行操作: increaseNumberAtEndOfString = function (input) { try {
x = x.replace(/-\d+$/, function(n){ return '-'+(1-n) });
仅当数字位于连字符之后且位于字符串末尾时,此操作才会增加该数字。您可以沿着以下几行操作:
increaseNumberAtEndOfString = function (input) {
try {
var ar = input.split("-");
if (ar.length > 1) {
var myNumber = Number(ar[ar.length - 1]);
myNumber++;
ar[ar.length - 1] = myNumber;
}
return ar.join("-");
} catch (e) {
throw new Error("Invalid string!");
}
}
试试这个
var reg = /-\d+$/
if(reg.test(x)){
x = x.replace(/(\d+)$/,function(a){return +a+1})
}
这是如何“在我的字符串末尾检测连字符和数字的”?哇…一行代码。那是某种火箭科学。谢谢@JasonKelly是否清楚它是如何工作的,或者您是否需要对特定部分进行解释?只需一个正则表达式就可以更有效地完成,请参见我的答案。@dystroy,是的,我看到了,这是关于“如何检测”的评论中一个问题的答案
increaseNumberAtEndOfString = function (input) {
try {
var ar = input.split("-");
if (ar.length > 1) {
var myNumber = Number(ar[ar.length - 1]);
myNumber++;
ar[ar.length - 1] = myNumber;
}
return ar.join("-");
} catch (e) {
throw new Error("Invalid string!");
}
}
var reg = /-\d+$/
if(reg.test(x)){
x = x.replace(/(\d+)$/,function(a){return +a+1})
}