我正试图从R
中的字符串向量中删除一些不需要的文本,但是无法实现我想要的输出。
我想消除任何一个单词的出现,这可能有多种变体。举个例子:
a<-c("xyz (ALTERNA)","jqk(ALTERNA)","abc(ALTERNO)","def ( ALTERNO)","mno (ALTERNO )","pqr (ALTERNA) ")
我想用括号和任何前面的空格消除任何出现的单词altern[ao]
,所以我尝试了:
gsub(pattern = "[:blank:]*\\(altern[ao]\\)",replacement = "",a,ignore.case = T)
但它会产生:
[1] "xyz " "jq" "abc" "def ( ALTERNO)" "mno (ALTERNO )" "pqr "
我想要的输出是:
[1] "xyz" "jqK" "abc" "def" "mno" "pqr"
我做错了什么,我该如何纠正? 谢谢,
答案 0 :(得分:2)
我们可以尝试sub
。我们匹配零个或多个空格(\\s*
)后跟一个括号(\\(
),后跟一个或多个字符(.*
),直到字符串结尾($
)并替换为''
。
sub('\\s*\\(.*$', '', a)
#[1] "xyz" "jqk" "abc" "def" "mno" "pqr"