【发布时间】:2021-10-20 16:34:08
【问题描述】:
我有一个正则表达式/字符串替换的困境(对不起,如果这是重复的帖子,我正在寻找解决方案但找不到,但如果我错过了类似的帖子,请告诉我!)。
我们有一个数据集,分为两列:主语和动词。我想删除动词列中的每个模态辅助,但前提是模态与另一个单词。所以我想将字符串“can do”中的“can”替换为“”,但如果“can”单独出现,我不想替换它。我想我可以使用 ifelse 语句,如下面的代码:
all_doubles <- all_doubles %>%
mutate(modal_removed = ifelse(str_detect(all_doubles$verb_lemma, modal_with_words) == TRUE,
str_replace_all("can|could|may|might|shall|should|will|would|need", ""),
all_doubles$verb_lemma))
但我无法让正则表达式仅返回带有其他单词的模态辅助词。现在,我正在使用它,但它似乎效果不佳:
modal_with_words <- ".+can|could|may|might|shall|should|will|would|need.+"
任何建议都将不胜感激(我相信有更好的方法来做到这一点)!非常感谢!
【问题讨论】:
-
你有每个问题的单词列表吗?那么,“do”总是跟在“can”之后吗? (或者,更一般地说,你有一个完整的配对列表吗?)我看到你提到有结构为主语/动词的数据,但不清楚这是我要问的列表还是您尝试操作的数据。
-
有争议的数据样本可能有助于获得准确的答案