正则表达式在Javascript中的每个逗号后添加一个空格

Pla*_*ted 15 javascript regex

我有一个由逗号分隔的数字列表组成的字符串.如何使用Regex在每个逗号后添加空格?

kzh*_*kzh 26

最简单的解决方案

"1,2,3,4".replace(/,/g, ', ')
//-> '1, 2, 3, 4'
Run Code Online (Sandbox Code Playgroud)

另一种方案

"1,2,3,4".split(',').join(', ')
//-> '1, 2, 3, 4'
Run Code Online (Sandbox Code Playgroud)


eli*_*ocs 12

我发现重要的是要注意,如果逗号后面跟着一个空格,则不想添加空格:

"1,2, 3,4,5".replace(/,(?=[^\s])/g, ", ");
> "1, 2, 3, 4, 5"
Run Code Online (Sandbox Code Playgroud)

此正则表达式检查以下字符,只有在没有空格字符时才替换.


Mat*_*all 6

使用String.replace正则表达式.

> var input = '1,2,3,4,5',
     output = input.replace(/(\d+,)/g, '$1 ');
> output
  "1, 2, 3, 4, 5"
Run Code Online (Sandbox Code Playgroud)

  • 有关系吗?我认为确实如此.在教别人如何编程时,我们应该教他们努力寻求最简单的解决方案. (10认同)

小智 6

这些都是很好的方法,但如果用户输入并且您得到像“1,2,3,4,5,6,7”这样的列表

..在这种情况下,让我们让它变得白痴证明!因此考虑到字符串已经格式化的部分,解决方案:

"1,2, 3,4, 5,6,7".replace(/, /g, ",").replace(/,/g, ", ");

//result: "1, 2, 3, 4, 5, 6, 7" //Bingo!
Run Code Online (Sandbox Code Playgroud)


小智 6

逗号的另一个简单通用解决方案,后跟n个空格:

"1,2, 3,   4,5".replace(/,[s]*/g, ", ");
> "1, 2, 3, 4, 5"
Run Code Online (Sandbox Code Playgroud)

始终用逗号和一个空格替换逗号和n空格.