lodash:在字符串中递增整数
lodash: increment integer in string
我想制作:
第一个例子:
some_text_505
→some_text_506
第二个例子:
sometext505
→sometext506
您可以执行类似以下操作,但是通过使用正则表达式,如果您在除末尾之外的其他任何地方都有数字,它将不起作用
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'))
我想制作:
第一个例子:
some_text_505
→some_text_506
第二个例子:
sometext505
→sometext506
您可以执行类似以下操作,但是通过使用正则表达式,如果您在除末尾之外的其他任何地方都有数字,它将不起作用
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'))