大家好,我想做一些简单的事情。出于某种原因,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,如果在向量中找到。有人知道吗?它不需要涉及gsub。我只需要一行代码如果你在字符串向量中看到this, that或this用"替换
要使用|
在正则表达式中表示"OR",您需要fixed=F
。
但是,模式中的?
表示:字符之前出现一次或零次,而不是像您希望的那样匹配文字?
。
subs
:
中的?
。subs <- gsub('?', '\?', subs, fixed=T)
gsub(paste(subs,collapse = "|"), "", vector, fixed=F)
# [1] "YOU" "DID IT" "BLAH BLAH"