将除最后一个以外的所有分号替换为加号

Replace all semicolon with plus sign except last

我想用加号 (+) 替换除最后一个分号之外的所有分号 (;)。

前-

我有这样的东西-

我想得到这样的结果 -

到目前为止我试过了

replace(/;/g, ' + ')

但这会替换每个分号。

line/word 的大小是动态的,即逐行变化。

有了look ahead

console.log("A;".replace(/;(?=[^;]*;)/g,' + '));
console.log("A;B;".replace(/;(?=[^;]*;)/g,' + '));
console.log("A;B;C;".replace(/;(?=[^;]*;)/g,' + '));
console.log("A;B;C;D;".replace(/;(?=[^;]*;)/g,' + '));

使正则表达式在 ; 之后需要另一个字符,您可以使用捕获组将其复制到结果中。

s.replace(/;(.)/g, ' + ')

字符串末尾没有后续字符,所以不匹配。