如果字符串中的逗号不存在,是否可以在逗号后添加空格。
示例:
word word,word,word,
最终会成为
word word, word, word,
ruby或rails中是否有函数可以执行此操作?
这将用于数十万个句子,所以它需要很快(性能很重要)。
答案 0 :(得分:7)
使用否定前瞻来检查逗号后没有空格,然后用逗号和空格替换。
print 'word word,word,word,'.gsub(/,(?![ ])/, ', ')
答案 1 :(得分:4)
只需使用正则表达式替换","
的所有实例,而不是", "
后面的空格。
str = "word word,word,word,"
str = str.gsub(/,([^ ])/, ', \1') # "word word, word, word,"
答案 2 :(得分:0)
如果字符串不包含多个相邻的空格(或者不应包含这样的空格),则不需要正则表达式:
isFooSet
答案 3 :(得分:0)
添加缺少的空间:
"word word,word,word,".gsub(/,(?=\w)/, ', ') # "word word, word, word,"
并在必要时删除最后一个不必要的逗号
"word word,word,word,".gsub(/,(?=\w)/, ', ').sub(/,\Z/, '') # "word word, word, word"