我有一个要通过使用运算符+-/*作为分隔符来分解的方程式。然后,我想更改一项并将等式重新组合在一起。例如,一个方程可以是

 s="5*3+8-somevariablename/6";

我当时想我可以使用正则表达式来分解方程式。
    re=/[\+|\-|\/|\*]/g
var elements=s.split(re);

然后,我将更改一个元素并将其放回原处。但是除非我能以某种方式跟踪每个定界符以及何时使用它,否则我无法将其放回原处。是否有另一个正则表达式工具可用于这种情况?

最佳答案

扩展nnnnn的帖子,这应该可以工作:

var s = '5*3+8-somevariablename/6';
var regex = /([\+\-\*\/])/;
var a = s.split(regex);

// iterate by twos (each other index)
for (var i = 0; i < a.length; i += 2) {
    // modify a[i] here
    a[i] += 'hi';
}

s = a.join(''); // put back together

07-24 09:50
查看更多