努力基于模式删除单词(R中的文本分析)

努力基于模式删除单词(R中的文本分析),r,text,analysis,stringr,R,Text,Analysis,Stringr,我不熟悉文本分析。在过去的一周里,我一直在努力解决R中的一个特殊问题。我试图找出如何删除或替换字符串中单词的所有变体。例如,如果字符串为: test <- c("development", "develop", "developing", "developer", "apples", "kiwi") 所以,基本上,我想找出如何删除或替换所有以“^develope”开头的单词。我已尝试使用以下表达式在stringr包中使用str_remove_all: str_remove_all(tes

我不熟悉文本分析。在过去的一周里,我一直在努力解决R中的一个特殊问题。我试图找出如何删除或替换字符串中单词的所有变体。例如,如果字符串为:

test <- c("development", "develop", "developing", "developer", "apples", "kiwi")
所以,基本上,我想找出如何删除或替换所有以“^develope”开头的单词。我已尝试使用以下表达式在stringr包中使用str_remove_all:

str_remove_all(test, "^dev")
但最终的结果是:

"elopment", "elop", "eloping", "eloper", "apples", "kiwi"
它只删除了与开头表达式“dev”匹配的部分单词,而如果它与“dev”的开头匹配,我想删除整个单词

谢谢

将grep与invert一起使用:

grep("^develop", test, invert = TRUE, value = TRUE)
## [1] "apples" "kiwi"  
或者否定格雷普:

ok <- !grepl("^develop", test)
test[ok]

通过
stringr
,您可以执行以下操作:

stringr::str_subset(test, "^dev", negate = TRUE)


过滤器(函数(x)!任何(grepl(“develope”,x)),测试)

非常感谢!非常感谢。我的实际问题是从数据帧中的列中过滤出单词,而不是从向量中过滤出单词。我通过将grep的输出转换为数据帧并将其分配给一个新变量来调整代码。它不是很优雅,但很管用!我无法将其分配给原始数据帧的列,因为行数不同会产生错误消息。
test[sub("^develop", "", test) == test]
stringr::str_subset(test, "^dev", negate = TRUE)