lodash:在字符串中递增整数

lodash: increment integer in string

我想制作:

第一个例子:

some_text_505some_text_506

第二个例子:

sometext505sometext506

您可以执行类似以下操作,但是通过使用正则表达式,如果您在除末尾之外的其他任何地方都有数字,它将不起作用

var myString = 'sometext506';
var myInt = parseInt(myString.replace(/\D/g,'')); // get rid of non numeric characters
var newString = myString.replace(myInt, '') + (myInt + 1);
console.log(newString)

更新

我刚刚发现这个函数看起来更简洁,也可以处理字符串中间的数字:

function getAndIncrementLastNumber(str) {
    return str.replace(/\d+$/, function(s) {
        return +s+1;
    });
}

console.log(getAndIncrementLastNumber('sometext506'))
console.log(getAndIncrementLastNumber('some_text_506'))
console.log(getAndIncrementLastNumber('some2text508'))