我有一串
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个单独变量的字符串中。
最佳答案
做到这一点很简单,只需为String.replace
提供替换功能:
str.replace(/answers\[(\d+)\]/, function (_, $1) {
return "answers[" + (+$1 + 1) + "]";
});
(如果要说明替换功能的参数,可以阅读上面的MDN链接或my answer here)
但是,我不知道这是否是解决更大问题的好方法。
关于javascript - javascript正则表达式跳过方括号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26711098/