匹配出现的字符的第一个字符(它们必须彼此相邻)

时间:2019-04-14 18:11:41

标签: javascript regex

我有一个充满字符串的字符串数组,看起来像这样。

let strings = ["foo", "bar", ", dog", ",, and cats"];

我一直想做的是将字符串数组转换为字符串,然后用空格替换逗号,但只能是先出现的逗号。

strings.toString() // "foo,bar,, dog,,, and cats"
strings.toString().replace(match/g, " ") // "foo bar , dog ,, and cats"

我不完全确定该如何使用正则表达式,我不能很好地表达我的问题,因此无法找到相关问题。

谢谢。

1 个答案:

答案 0 :(得分:2)

您可以使用,(,*)正则表达式来匹配在组1中捕获的一个逗号和可选的逗号,并用组1捕获中的空格和内容替换它。这样,第一个逗号将被替换为空格,其余的逗号将被保留。

JS代码演示

let strings = ["foo", "bar", ", dog", ",, and cats"];
console.log(strings.toString().replace(/,(,*)/g,' $1'));