在 JavaScript 中用多个分隔符拆分公式字符串,并保留分隔符,然后将字符串重新组合在一起

split equation string by multiple delimiters in javascript and keep delimiters then put string back together

本文关键字:字符串 分隔符 新组合 然后 在一起 组合 保留 拆分 JavaScript      更新时间:2023-09-26

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

 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

你也可以动态生成正则表达式,

var s = '5*3+8-somevariablename/6';
var splitter = ['*','+','-','''/'];
var splitted = s.split(new RegExp('('+splitter.join('|')+')'),'g'));
var joinAgain = a.join('');

这里拆分数组包含所有分隔符,因为 () 在 RegExp 中给出