lodash:在字符串中增加整数

时间:2016-08-23 14:49:27

标签: javascript underscore.js lodash

我想:

第一个例子:

some_text_505 - > some_text_506

第二个例子:

sometext505 - > sometext506

1 个答案:

答案 0 :(得分:4)

您可以执行以下操作,但是通过使用正则表达式,如果除了结尾之外的任何其他地方都有数字,它将无法正常工作

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'))