gpt4 book ai didi

javascript - 如何使用正则表达式获取字符串的一部分并更改它

转载 作者:行者123 更新时间:2023-11-28 13:16:32 25 4
gpt4 key购买 nike

我想更改一个字符串,例如,如果它是“Hello999”,它应该变成“Hello1000”,从而将数字加一,但保留其余部分。我想使用正则表达式来完成此操作,但我不确定如何从字符串中“取出”数字并递增它。我的代码如下:

function stringNumber(str){
var string="";
if (/^.*\w+$/i.test(str)){
//testing if the end is a number,if not Ill add 1, not increment
string=str+1;
return string;
}
else if (/^.*\w+\d+$/i.test(str)){
string=0;
string+=1;
//thats wrong because I keep adding a 1, not incrementing
return string;
}
}
stringNumber('hello999');

更新版本://也不起作用

function stringNumber(str){
var string="";
if (/^.*\w+$/i.test(str)){
string=str+1;
return string;
}
else if (/^.*00\d+$/i.test(str)){
string=str.replace(/0\d+$/, function(n) { return parseInt(n) + 1; });
//trying to keep 1 zero and replace the second zero PLUS the number following with incremented number
return string;
}

}
stringNumber("hello00999");

最佳答案

使用函数作为 .replace() 函数的第二个参数:

str.replace(/\d+/, function(match) {
return Number(match) + 1
})

关于javascript - 如何使用正则表达式获取字符串的一部分并更改它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37419700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com