问题描述
我希望突出显示字符串中的一个模式,除非使用正则表达式检测到另一个模式以进行后续的字符串处理。最后,我正在寻找将所有hat
或hats
替换为space
的方法,除非在字符串中找到了what
或no
,但在模式试用。
数据:
require(tidyverse)
trial.string<-c("Hat","coif","hatter","HATS","plushy","no hat","what","hat no","hats","HAT,what","what,hat,no,hats","A water hat")
到目前为止,我已经尝试在str_view_all
中使用以下模式来检查其是否有效。我为regex
选项使用了ignore_case = TRUE
函数。
trial.string %>%
str_view_all(regex("(?<!w)hat(s)*(?!.*(what|no))",ignore_case = TRUE))
这将导致:
最终结果应排除检测到第六个字符串no hat
和第十一个字符串what,hats
。
我不确定是否要以正确的方式使用环视功能,否则是否使用regex
函数是错误的。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)