我找到了很多关于模糊匹配的链接,将一个字符串与另一个字符串进
我有一个非常长的字符串,它是一个文档和一个子字符串.子字符串来自原始文档,但已被多次转换,因此可能引入了奇怪的工件,例如此处的空格,字符串.子字符串将匹配原始文档中文本的一部分99%或更多.我不匹配以查看此字符串是哪个文档,我试图在文档中找到字符串开始的索引.
如果字符串是相同的,因为没有引入随机错误,我会使用document.index(substring),但是如果甚至有一个字符差异,则会失败.
我认为通过删除除字符串和子字符串中的az之外的所有字符来比较差异,然后使用压缩字符串时生成的索引将压缩字符串中的索引转换为真实文档中的索引.这种情况很好用,其中差异是空格和标点符号,但只要一个字母不同就失败了.
该文档通常是几页到一百页,而子串从几个句子到几页.
我喜欢在Ruby中比较两个字符串并找到它们的相似性
我看过这个Levenshtein宝石,但它似乎是在2008年最后一次更新,我找不到文档如何使用它.一些博客暗示其破碎
我text用Levenshtein 尝试了宝石,但它给出了一个整数(越小越好)
显然,如果两个字符串的长度可变,我会遇到Levenshtein算法的问题(比较两个名称,其中一个名称中间名称,一个名称不同).
你有什么建议我做百分比比较?
编辑:我正在寻找类似PHP的类似文本
我希望我正确地措辞这一点,以了解我正在寻找的东西.
我需要比较两段文字.如果这两个字符串是相似的,我想得到非常相似的分数,如果字符串非常不同,我需要非常不同的分数.
如果我采用电子邮件的md5哈希值并更改一个字符,哈希值会发生显着变化,我希望某些内容不会发生太大变化.我需要比较两个内容的相似程度,而不存储字符串.
更新:我现在正在考虑结合人们提供的各种链接中的一些想法.理想情况下,我会喜欢一个输入函数来创建我的分数所以我正在寻找使用引用字符串来始终比较我的输入.我也在考虑收集asci角色并总结这些.仍在阅读所有提供的链接.