大家好我想做一些简单的事情。出于某种原因,gsub是一个混蛋。
vector <- c("http://aa.bb.com/ss/who/searchpage/tab/message?sort_by=-topicPostDate&page=YOU","http://aa.bb.com/ss/who/searchpage/tab/message?filter=labels location&location=oh-my:DID IT","BLAH BLAH")
subs <- c("http://aa.bb.com/ss/who/searchpage/tab/message?sort_by=-topicPostDate&page=",
"http://aa.bb.com/ss/who/searchpage/tab/message?filter=labels location&location=oh-my:")
gsub(paste(subs,collapse = "|"),"",vector, fixed = TRUE)
我想用gsub说的是将sub
中的第1项或第2项替换为&#34;&#34;如果在矢量中找到
任何人?它不必涉及gsub。我只想要一行代码,如果你看到这个或那个或那个&#34;&#34;在一个字符串向量。
答案 0 :(得分:0)
使用|
表示&#34; OR&#34;在正则表达式中,您需要fixed=F
。
但是,模式中的?
意味着:之前出现一次或零次,而不是根据需要匹配文字?
。
解决办法的一种方法是逃避?
中的subs
:
subs <- gsub('?', '\\?', subs, fixed=T)
gsub(paste(subs,collapse = "|"), "", vector, fixed=F)
# [1] "YOU" "DID IT" "BLAH BLAH"