我有一个字符串如下:
a<-c("AbcDef(123)")
> a
[1] "AbcDef(123)"
有没有有效的方法将其转换为
a<-c("Abc Def (123)")
换句话说,我想在遇到大写字母或特殊字符时添加一个空格(。
答案 0 :(得分:1)
一种可能性:
gsub("(?<=[^A-Z(])(?=[A-Z(])", " ", a, perl=T)
答案 1 :(得分:0)
试试这个:
gsub("(?<=.)([A-Z(])", " \\1", a, perl = TRUE)
,并提供:
[1] "Abc Def (123)"
如果带有空格的字符串没有单字符片段,则可以简化为:
gsub("(.)([A-Z(])", "\\1 \\2", a)
答案 2 :(得分:0)
我有点kludgy并使用两个gsub
s。内部gsub
添加空格,外部gsub
删除前导空格。
a <- "AbcDef(123)"
gsub("^\\s", "", gsub("([A-Z(])", " \\1", a))