在javascript中用多个分隔符分割方程字符串,并保留分隔符,然后将字符串重新组合在一起

tec*_*dog 3 javascript split delimiter

我有一个公式我想通过使用运营商拆分+,-,/,*作为分隔符.然后我想改变一个项目并将等式重新组合在一起.例如,等式可以是

 s="5*3+8-somevariablename/6";    
Run Code Online (Sandbox Code Playgroud)

我以为我可以使用正则表达式来区分方程式.

    re=/[\+|\-|\/|\*]/g
var elements=s.split(re);
Run Code Online (Sandbox Code Playgroud)

然后我会更改一个元素并将其重新组合在一起.但是除非我能以某种方式跟踪每个分隔符以及何时使用它,否则我无法将其重新组合在一起.还有其他正则表达式工具吗?

Joe*_*ons 5

扩展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
Run Code Online (Sandbox Code Playgroud)