您可以使用stringr的str_replace函数:
library(stringr)
value <- str_replace(v1,"corey|emily","name")
> str_replace(v1,"corey|emily","name")
[1] "name joe" "joe" "name" "joe"
在你想要的一切成一个字符串,就可以在paste
如下使用collapse
选项的情况下:
> paste(value,collapse=" ")
[1] "name joe joe name joe"
如果你想使用来自BASE的gsub R
value <- gsub("corey|emily","name",v1)
> gsub("corey|emily","name",v1)
[1] "name joe" "joe" "name" "joe"
>
> paste(value,collapse=" ")
[1] "name joe joe name joe"
如果你想使用变量,那么你可以使用paste0:
str_replace(v1,paste0(v2[1],"|",v2[2]),"name")
更确切地说:
str_replace(v1,paste0(v2[1:length(v2)],collapse="|"),"name")
编辑注释后: 我承认,所以一正如@Scarabee建议的那样,增加了非常简单的解决方案,即str_replace(v1,v2,"name")
> value <- str_replace(v1,paste0(v2,collapse="|"),"name")
> final <- paste(value,collapse=" ")
> final
[1] "name joe joe name joe"
结果将是相同的。