努力根据模式删除单词(R 中的文本分析)
Struggling with removing words based on pattern (text analysis in R)
我是文本分析新手。上周我一直在努力解决 R 中的一个特定问题。我想弄清楚如何删除或替换字符串中某个单词的所有变体。例如,如果字符串是:
test <- c("development", "develop", "developing", "developer", "apples", "kiwi")
我希望最终输出为:
"apples", "kiwi"
所以,基本上,我想弄清楚如何删除或替换所有以“^develop”开头的单词。我尝试使用以下表达式在 stringr 包中使用 str_remove_all:
str_remove_all(test, "^dev")
但最终结果是这样的:
"elopment", "elop", "eloping", "eloper", "apples", "kiwi"
它只删除了与开头表达式 "dev" 匹配的部分单词,而如果它与 "dev" 的开头匹配,我想删除整个单词。
谢谢!
将 grep 与反转一起使用:
grep("^develop", test, invert = TRUE, value = TRUE)
## [1] "apples" "kiwi"
或否定grepl:
ok <- !grepl("^develop", test)
test[ok]
或删除develop
然后检索那些没有改变的元素:
test[sub("^develop", "", test) == test]
通过stringr
,您可以:
stringr::str_subset(test, "^dev", negate = TRUE)
过滤器(函数(x)!任何(grepl("develop",x)),测试)
我是文本分析新手。上周我一直在努力解决 R 中的一个特定问题。我想弄清楚如何删除或替换字符串中某个单词的所有变体。例如,如果字符串是:
test <- c("development", "develop", "developing", "developer", "apples", "kiwi")
我希望最终输出为:
"apples", "kiwi"
所以,基本上,我想弄清楚如何删除或替换所有以“^develop”开头的单词。我尝试使用以下表达式在 stringr 包中使用 str_remove_all:
str_remove_all(test, "^dev")
但最终结果是这样的:
"elopment", "elop", "eloping", "eloper", "apples", "kiwi"
它只删除了与开头表达式 "dev" 匹配的部分单词,而如果它与 "dev" 的开头匹配,我想删除整个单词。
谢谢!
将 grep 与反转一起使用:
grep("^develop", test, invert = TRUE, value = TRUE)
## [1] "apples" "kiwi"
或否定grepl:
ok <- !grepl("^develop", test)
test[ok]
或删除develop
然后检索那些没有改变的元素:
test[sub("^develop", "", test) == test]
通过stringr
,您可以:
stringr::str_subset(test, "^dev", negate = TRUE)
过滤器(函数(x)!任何(grepl("develop",x)),测试)