【发布时间】:2017-04-11 15:08:21
【问题描述】:
我从 Ronak Shah 和 akrun(in this post) 那里学到了如何构造一个正则表达式来排除数据框中的所有术语(在我的示例中为 alldata),除了这些单词,
^\BWORD1|WORD2|WORD3|WORD4|WORD5\>
但由于某些原因,无法弄清楚为什么它给了我
“WORD2”,“WORD3”,不适用
而不是
“WORD1 WORD2 WORD5”,“WORD3”,不适用
这是我的例子:
library(stringr)
alldata <- data.frame(toupper(c("word1 anotherword word2 word5", "word3", "none")))
names(alldata)<-"columna"
removeex <- c("word1" , "word2" ,"word3" ,"word4", "word5")
regularexprex <- toupper(paste0("^\\b",paste0(removeex, collapse = "|"), "\\>"))
alldata$columnb <- str_extract(alldata$columna, regularexprex)
我尝试在正则表达式的末尾添加 + 或 *,但没有任何效果。
由于我是正则表达式的初学者,我肯定会错过一些东西,有人可以指导我吗? 问候,
【问题讨论】:
-
您的意思是您需要为特定列表中的所有条目获取 NA?
-
我想保留列表中存在的数据框中的所有单词,删除其余的。如果不在场,我会得到一个 NA。抱歉不清楚。