我的目标是确定给定text
的target
字符串中是否包含字符串,但我想允许拼写错误/小的派生并提取“导致”匹配的子字符串(以将其用于进一步的文本分析)。
例子:
target <- "target string"
text <- "the target strlng: Butter. this text i dont want to extract."
期望的输出:
我想target strlng
作为输出,因为它非常接近目标(levenshtein 距离为 1)。接下来我想用它target strlng
来提取这个词Butter
(这部分我已经介绍过,我只是添加它以获得详细的规范)。
我尝试了什么:
使用 adist 不起作用,因为它比较两个字符串,而不是子字符串。
接下来我看了一下agrep
似乎很接近。我可以找到我的目标的输出,但不是substring
“导致”匹配的输出。
我试过了,value = TRUE
但它似乎在数组级别上工作。我认为我不可能切换到数组类型,因为我不能用空格分隔(我的目标字符串可能有空格,...)。
agrep(
pattern = target,
x = text,
value = TRUE
)