我有这样的字符串:
MPG_0023
我想找到类似的东西
MPG_0023 + 1
我应该得到
MPG_0024
如何在 JavaScript 中做到这一点?应该注意,如果没有前导零,或者一个前导零应该仍然有效,如 MPG23 应该给 MPG24 或 MPG023 应该给 MPG024。
不应该假设有下划线或前导零,唯一的事情是第一部分是任何字符串甚至没有字符串,数字部分可能有也可能没有前导零,它是任何类型的数字所以它应该适用于 0023(返回 0024)或 gp031(返回 gp032)等。
最佳答案
这是一种不使用正则表达式的快速方法。只要数字前面总是有一个下划线,并且只要数字是 4 位数字,这就可行。
var n = 'MPG_0023';
var a = n.split('_');
var r = a[0]+'_'+(("0000"+(++a[1])).substr(-4));
console.log(r);
或者,如果您确实想使用正则表达式,则下划线无关紧要。
var n = "MPG_0099";
var r = n.replace(/(\d+)/, (match)=>("0".repeat(4)+(++match)).substr(-4));
console.log(r);
关于javascript - 如何在 JavaScript 中增加包含前导零的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49613243/