我有一个字符串
var oldName = "questions[0].answers[3].answer";
我想将答案部分增加到[4](当前值为+1)。
如果是questions[0].answers[6].answer
,它应该成为问题[0] .answers [7] .answer。
我尝试了以下但我没有得到任何结果。
var matches = oldName.match(/(\d+)answers(\d+)/)
var number1 = Number(matches[1]);
var number2 = Number(matches[2]);
我需要将字符串中的数字存储在2个单独的变量中。
答案 0 :(得分:1)
这样做很简单,只需为String.replace
提供替换功能:
str.replace(/answers\[(\d+)\]/, function (_, $1) {
return "answers[" + (+$1 + 1) + "]";
});
(如果您想要对替换功能的参数进行说明,可以阅读上面的MDN链接,或my answer here)
但是,对于更大的问题,这是否是一个很好的解决方案,我不知道。