在Javascript中对字符串内的整数重新编号
我想对字符串中的整数重新编号,该字符串的格式为字母和整数:e1b2xx4d3 在这个例子中,我想得到:e1b2xx3d4 我已经编写了以下JS代码:在Javascript中对字符串内的整数重新编号,javascript,regex,Javascript,Regex,我想对字符串中的整数重新编号,该字符串的格式为字母和整数:e1b2xx4d3 在这个例子中,我想得到:e1b2xx3d4 我已经编写了以下JS代码: var count = 0; var matches; var transcript = "e1b2xx4d3"; var transcript1 = transcript; regex = /\d+/g; while ((matches = regex.exec(transcript)) !== null) { transcript1 =
var count = 0;
var matches;
var transcript = "e1b2xx4d3";
var transcript1 = transcript;
regex = /\d+/g;
while ((matches = regex.exec(transcript)) !== null) {
transcript1 = transcript1.replace(matches[0], ++count);
}
console.log(transcript1);
我们的想法是用序列号计数替换字符串中的每个数字,但由于破坏性替换,它不起作用。在这里,我们得到e1b2xx4d3,因为xx4被xx3替换,但在下一次迭代中被xx4替换回来
我需要使用正则表达式来实现这一点,因为我处理的情况比所示的更复杂,需要使用正则表达式
我认为我必须在两次迭代中完成它:1。编译替换和2。同时应用替换
好奇的是,有人能找到一种一次性完成的方法吗
小提琴:这通常通过替换功能完成: n=0 result=e1b2xx4d3.replace/\d+/g,函数{return++n} 警报结果