仅当字符串中的逗号不存在于R中时,才在逗号后面添加空格

时间:2017-05-24 10:21:35

标签: r regex string gsub

例如我有

a=c("Jack and Jill,went up the, hill,to,fetch a pail,of, water")

我正在尝试做的是在逗号之后添加空格当且仅当逗号后跟一个字母 这样我的输出看起来像这样

 "Jack and Jill, went up the, hill, to, fetch a pail, of, water"

这就是我试过的

gsub("/,(?![ ])/, ", " ",a)

但是没有给我想要的结果。 任何帮助将非常感激。谢谢

1 个答案:

答案 0 :(得分:3)

我们可以使用gsub来匹配逗号(,),后跟任何作为一组捕获的字母(([A-Za-z])),然后将其替换为,后跟一个空间和捕获的组的后向引用(\\1

gsub(",([A-Za-z])", ", \\1", a)
#[1] "Jack and Jill, went up the, hill, to, fetch a pail, of, water"

或使用[[:alpha:]]

gsub(",([[:alpha:]])", ", \\1", a)
#[1] "Jack and Jill, went up the, hill, to, fetch a pail, of, water"