如何将gsub用于R中的多个模式列表

scr*_*rrd 3 r

这有点难以解释,所以请耐心等待.

我想用"查找"字符串列表和要替换的空字符串("")进行"查找/替换".我有一个大型数据表列我想做这个查找/替换.

使用base R,我无法弄清楚如何在gsub中使用模式列表.

我做了一个循环,但如果有人可以帮我弄清楚如何使用其中一个apply函数(或者只是基础R中的其他东西),那将会更有效率,我将非常感激.

这有效,但需要很长时间:

for(i in 1:GarbMax){
      Table.All$Cleaned<-gsub(garbage[i], "", Table.All$Cleaned, ignore.case = TRUE, fixed = TRUE)
}
Run Code Online (Sandbox Code Playgroud)

我想要找到的值列表是"垃圾",我正在寻找它们的字段是"Table.All $ Cleaned"."GarbMax"只是"垃圾"列表的最大值.

抛开(可能),上面的代码给我一个警告,忽略ignore.case = TRUE.知道为什么吗?

非常感谢你的帮助!

Rom*_*rik 11

如果我理解正确,以下解决方案将是一种方式:

string <- c("onetwo", "two", "three", "fourfive", "five", "six", "sixseven")
find.list <- list("two", "five", "seven")
# in REGEX, | also represents "OR"
find.string <- paste(unlist(find.list), collapse = "|")

gsub(find.string, replacement = "", x = string)
[1] "one"   ""      "three" "four"  ""      "six"   "six" 
Run Code Online (Sandbox Code Playgroud)