将除最后一个以外的所有分号替换为加号
Replace all semicolon with plus sign except last
我想用加号 (+) 替换除最后一个分号之外的所有分号 (;)。
前-
我有这样的东西-
- 苹果;
- 香蕉;
- 苹果;香蕉;
- 苹果;香蕉;橙子;
- 苹果;香蕉;橙子;芒果;
我想得到这样的结果 -
- 苹果;
- 香蕉;
- 苹果+香蕉;
- 苹果+香蕉+橘子;
- 苹果 + 香蕉 + 橙子 + 芒果;
到目前为止我试过了
replace(/;/g, ' + ')
但这会替换每个分号。
line/word 的大小是动态的,即逐行变化。
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, ' + ')
字符串末尾没有后续字符,所以不匹配。
我想用加号 (+) 替换除最后一个分号之外的所有分号 (;)。
前-
我有这样的东西-
- 苹果;
- 香蕉;
- 苹果;香蕉;
- 苹果;香蕉;橙子;
- 苹果;香蕉;橙子;芒果;
我想得到这样的结果 -
- 苹果;
- 香蕉;
- 苹果+香蕉;
- 苹果+香蕉+橘子;
- 苹果 + 香蕉 + 橙子 + 芒果;
到目前为止我试过了
replace(/;/g, ' + ')
但这会替换每个分号。
line/word 的大小是动态的,即逐行变化。
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, ' + ')
字符串末尾没有后续字符,所以不匹配。