我想从R中的字符串中删除多个单词,但想使用字符向量代替正则表达式。
例如,如果我有字符串
"hello how are you"
并想要删除
c("hello", "how")
我会回来
" are you"
我可以和str_remove()
的{{1}}亲近
stringr
但是我需要做一些事情来将其归纳为一个字符串。是否有一个函数可以一次调用所有这些功能?
答案 0 :(得分:2)
我们可以使用|
来评估正则表达式,或者
library(stringr)
library(magrittr)
pat <- str_c(words, collapse="|")
"hello how are you" %>%
str_remove_all(pat) %>%
trimws
#[1] "are you"
words <- c("hello", "how")
答案 1 :(得分:1)
base R
的可能性可能是:
x <- "hello how are you"
trimws(gsub("hello|how", "\\1", x))
[1] "are you"
或者,如果您还有更多话语,请@Wimpel提出一个聪明的主意:
words <- paste(c("hello", "how"), collapse = "|")
trimws(gsub(words, "\\1", x))