只有在逗号之前添加空格?

有没有办法在字符串中的逗号之后添加空格,只有它不存在。

例:

word word,word,word,

最终会成为

word word, word, word,

ruby或rails中是否有函数可以执行此操作?

这将用于数十万个句子,因此它需要很快(性能很重要)。

使用否定前瞻来检查逗号后没有空格,然后用逗号和空格替换。

 print 'word word,word,word,'.gsub(/,(?![ ])/, ', ') 

只需使用正则表达式替换","后面没有带", "的空格的所有实例。

 str = "word word,word,word," str = str.gsub(/,([^ ])/, ', \1') # "word word, word, word," 

如果字符串不包含多个相邻的空格(或者不应包含这样的空格),则不需要正则表达式:

 "word word, word, word,".gsub(',', ', ').squeeze(' ') #=> "word word, word, word, "