javascript - 仅替换相同起始字母字符串之间的逗号

标签 javascript regex

如何仅替换相同起始字母字符串之间的逗号?

这是我所拥有的,部分工作:

const regexA = /(A.+?)(, )(A)/g;
const regexB = /(B.+?)(, )(B)/g;

let value = "A1C, A2, A3B, A4, B1, B2A, B3".replace(regexA, '$1/$3');
value = value.replace(regexB, '$1/$3');
console.log(value); //prints A1C/A2, A3B/A4, B1/B2A, B3

目标:A1C/A2/A3B/A4、B1/B2A/B3

最佳答案

const regexA = /((.)[^,]+), (?=\2|$)/g;

let value = "A1, A2, A3, A4, B1, B2, B3".replace(regexA, '$1/');
console.log(value); 

Demo & explanation

关于javascript - 仅替换相同起始字母字符串之间的逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59735052/

相关文章:

c++ - <regex> 无法处理西里尔字母字符

javascript - 对于正则表达式之间只有空格的单词,用逗号替换空格

regex - 为什么使用scala,使用相同的正则表达式,使用2种不同的匹配方法会导致2种​​不同的结果?

javascript - 如何将单个 [x, y] 坐标转换为 [xstart, xend,ystart, yend] 的范围?

javascript - javascript 中的三种 map 实现。哪一个更好?

javascript - 单选按钮与列表的多个问题

javascript - 带有表单的 JSP 和 JavaScript

regex - 用下划线替换字符串中的所有非字母数字字符

javascript - 如何做描边不透明度 :0 with d3

java - 从文本文件中查找唯一 IP 地址列表