我需要一个用逗号和空格替换逗号和空格的正则表达式,但如果它已经是一个逗号和一个空格,那就不管它了。
示例:
44,55 90应该变成44,55,90
但是,44,55,90再次输入时应该保持不变。
我最初尝试/[\s,]/g
但它当然用逗号和空格替换任何逗号或空格,因此44,55,90变为44,55,90
答案 0 :(得分:2)
答案非常简单/ ,?|,/g
或者,如果您想在逗号/ *,?| /g
之前删除任意数量的空白区域
或者,如果你想要疯狂,请使用/\s*,\s*|\s+/g
,这将取代之前和之后的任何额外间距,并做好所有好的stuf为更加错误。
答案 1 :(得分:0)
这将适用于测试字符串,假设您要使用数字,逗号和空格修复字符串,而不是其他字符组合。
搜索:
\d(,)\d|\d([ ]{1,},[ ]{0,})\d|\d([ ]{1,})\d
用逗号,
和空格替换捕获组1。
应该使用量词检查多个空格来处理任何实际或潜在的空白区域。
44,55 90 ,44 , 55 , 90 , 1234 ,
答案 2 :(得分:0)
你可以采用另一种方式,使用否定的字符类替换所有你想要的数字:
'999 123,098b7b7b7b7b,,,123^&*()43'.replace(/[^\d]+/g,', ');
//"999, 123, 098, 7, 7, 7, 7, 123, 43"