匹配后从文本中提取字符串 - regex R.

时间:2017-02-17 08:13:42

标签: r regex grepl

我有一个输入文字

   inputQ <- "What can I do ..my baby has rash all over. Suggest good rash cream"

我有一个术语列表

terms <- c("diaper","cloth diaper","rash pants","rash","baby wipes","rash cream")

我希望与其中一个术语完全匹配并返回它 我尝试使用for循环,但有更好的方法

结果应为

 rash cream

存储在matchedTerm

1 个答案:

答案 0 :(得分:5)

您可以尝试获取所有匹配项,然后检查具有最多字符数的匹配项:

wh_match <- names(unlist(sapply(terms, grep, inputQ)))
wh_match[which.max(nchar(wh_match))]
# [1] "rash cream"