搜索数字,对结果进行算术运算,然后替换

时间:2017-04-02 01:58:47

标签: javascript

我需要搜索并替换字符串中的数字。但是有两点需要注意。

首先,我需要在更换前进行算术运算。因此,如果我向他们添加5,则搜索6将替换为11,7与12等等

其次,我只会做一个后面跟冒号的数字。因此'7:'将成为'12:','8:'将成为'13:',但只有'9'没有冒号将保持不变。

这是我尝试过的东西

var string = "89 12 13: 42:"; 
var regex = new RegExp('[0-9]+','g');
string = string.replace(regex + ':',(regex + 5) + ':');

完成后应该看起来像“89 12 18:47:”。加号5意味着我正在尝试将5添加到替换之前出现的数字。

谢谢,

1 个答案:

答案 0 :(得分:0)

你很亲密;但是你没有扫描:,而你却错过了.replace的功能。

test = "I like 55: 12: 9: yay";

test = test.replace(/[0-9]+:/g, function (a) {
  return Number(a.slice(0,-1)) + 5 + ":";
});
console.log(test);