我想在空格中做很多变化的gsub。
我的文字是
Yes, please periodically send me e-mail updates
我想删除这句话。但是我的语料库中有很多变化。例如,我有
Yes, please periodically send me e-mail updates
Yes, please periodically send me e-mail updates
Yes, please periodically send me e-mail updates
如何使用正则表达式删除这些句子?我试着像下面的代码一样指定每个案例。
gsub("Yes, please periodically send me e-mail updates", "", text)
gsub("Yes, please periodically send me e-mail updates", "", text)
gsub("Yes, please periodically send me e-mail updates", "", text)
我相信有一种更好的方法可以用一个代码删除这些句子。谢谢你的帮助!
答案 0 :(得分:3)
使用[[:space:]]+
匹配一个或多个空格。
gsub("Yes, please periodically[[:space:]]+send[[:space:]]+me[[:space:]]+e-mail[[:space:]]+updates", "", text)
答案 1 :(得分:2)
也许我误解了这个问题,但更换"是的,...更新"是不是更简单?覆盖所有可能的额外空间?
text <- c("Yes, please periodically send me e-mail updates",
"Yes, please periodically send me e-mail updates",
"Yes, please periodically send me e-mail updates")
gsub("^Yes,.*updates", "", text)
[1] "" "" ""
答案 2 :(得分:1)
library(magrittr)
text_to_remove <- "Yes, please periodically send me e-mail updates"
text %>% gsub([[:space:]]+, " ") %>% gsub(text_to_remove , "")
有点“愚蠢”的做法。分配要删除的字符串,不要使用double(triple等)空格。用单个空格替换初始文本的多个空格,然后用“”替换要删除的文本。