是一个可重复性最小的例子:
v=c("\\<skill-saw\\>","\\<saw blade\\>")
text="xx placed his hand beneath skill-saw blade"
sapply(v,grepl,text)
最后一个命令返回c(TRUE,TRUE),我期待c(TRUE,FALSE)。有关如何实现这一点的任何想法?我们的想法是关键字&#34;技能 - 见&#34;应该检测到文本中存在,但不是关键字&#34;锯片&#34; ...
非常感谢您的帮助!
答案 0 :(得分:1)
您可以尝试regex
lookbehind
v <- c('(?<= )\\bskill-saw\\b', '(?<= )\\bsaw blade\\b')
unname(sapply(v, grepl, text, perl=TRUE))
#[1] TRUE FALSE
基于新的&#34;文字&#34;,可能是
text1 <- "xx placed his hand beneath skill saw-blade"
v <- c('(?<= )\\bskill-saw\\b', '(?<= )\\bsaw-?blade\\b')
unname(sapply(v, grepl, text1, perl=TRUE))
#[1] FALSE TRUE