从字符向量中删除一组词

8
假设我有一个随机名称的字符向量,还有另一个包含若干汽车品牌的字符向量,我想要从原始向量中删除任何与汽车相关的内容。
因此,给出以下向量:
dat = c("Tonyhonda","DaveFord","Alextoyota")
car = c("Honda","Ford","Toyota","honda","ford","toyota")

我希望最终的结果是像下面这样的:

我想要得到以下类似的东西:

dat = c("Tony","Dave","Alex")

我该如何在R中删除字符串的一部分?

4
我不确定为什么这个问题会被投票关闭。当你投票关闭时,特别是对于新的 Stack Overflow 用户,解释一下为什么会这样有帮助。请问,为什么这个问题被认为不相关呢?请告诉我原因。 - Tyler Rinker
4
如果你想避免同时使用大小写模式并使用Codoremifa的答案,考虑在gsub调用中使用ignore.case=TRUE - IRTFM
2个回答

17
gsub(x = dat, pattern = paste(car, collapse = "|"), replacement = "")
[1] "Tony" "Dave" "Alex"

1
仅翻译内容,请勿解释:
正在正式化42-'s的评论。与其使用,
car = c("Honda","Ford","Toyota","honda","ford","toyota")

你可以直接使用:

carlist = c("Honda","Ford","Toyota")

gsub(x = dat, pattern = paste(car, collapse = "|"), replacement = "", ignore.case = TRUE)
[1] "Tony" "Dave" "Alex"

这样可以让你只需将想要排除的每个单词仅列在列表中一次。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接