使用gsub从R字符串中删除/替换括号

时间:2018-04-05 21:40:37

标签: r regex gsub

我想删除或替换括号"("或")"从我的字符串使用gsub。但是如下所示它不起作用。可能是什么原因?

 >  k<-"(abc)"
 >  t<-gsub("()","",k)
 >  t 
[1] "(abc)"

3 个答案:

答案 0 :(得分:4)

使用正确的正则表达式:

gsub("[()]", "", "(abc)")

附加方括号表示&#34;匹配&#34; 中的任何字符。

答案 1 :(得分:1)

可能的方式是(在OP行中尝试):

gsub("\\(|)","","(abc)")
#[1] "abc"


`\(`  => look for `(` character. `\` is needed as `(` a special character. 
`|`  =>  OR condition 
`)` =   Look for `)`

答案 2 :(得分:0)

不依赖于正则表达式的安全,简单的解决方案:

k <- gsub("(", "", k, fixed = TRUE) # "Fixed = TRUE" disables regex
k <- gsub(")", "", k, fixed = TRUE)
k
[1] "abc"