8

假设我有一个随机名称的字符向量。我还有另一个包含许多汽车品牌的字符向量,我想删除原始向量中发生的任何汽车事故。

所以给定向量:

dat = c("Tonyhonda","DaveFord","Alextoyota")
car = c("Honda","Ford","Toyota","honda","ford","toyota")

我想得到如下结果:

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

如何在 R 中删除部分字符串?

4

2 回答 2

17
gsub(x = dat, pattern = paste(car, collapse = "|"), replacement = "")
[1] "Tony" "Dave" "Alex"
于 2013-10-29T19:24:32.857 回答
1

只是将上面 42- 的评论正式化。而不是使用

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"

这允许您只将要排除的每个单词放在列表中一次。

于 2016-04-07T16:15:50.783 回答