问题描述
我在R中有一个角色:
value <- "This is (delete) a (keep) test sentence."
我想删除带有文本的第一对括号,但保留第二对括号。我尝试使用gsub()
:
value2 <- gsub("(delete)"," ",value)
结果是:"This is () a (keep) test sentence."
但是我需要的是:"This is a (keep) test sentence."
我该怎么做?
解决方法
使用sub
:
sub('\\(.*?\\)\\s','',value)
#[1] "This is a (keep) test sentence."
-
()
是元字符,需要使用\\
进行转义。 -
.*?
要匹配尽可能少的字符,直到遇到右括号()
)。