微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

最佳字符串比较方法swift

用于获得两个字符串之间的百分比相似性的最佳算法是什么.到目前为止,我一直在使用Levenshtein,但这还不够. Levenshtein给出了差异的数量,然后我必须通过这样做来尝试将其计算为相似性:

100 - (no.differences/no.characters_in_scnd_string * 100)

例如,如果我测试“ab”与“abc”的相似程度,我得到66%的相似度,这是有道理的,因为“ab”是2/3,类似于“abc”.

我遇到的问题是,当我测试“abcabc”到“abc”时,我得到100%的相似性,因为“abc”完全出现在“abcabc”中.但是,我希望答案是50%,因为50%的“abcabc”与“abc”相同……

我希望这有点意义……第二个字符串是常量,我想测试不同字符串的类似字符串.类似地,我的意思是“猫狗”和“狗猫”具有极高的相似性,尽管词序不同.

有任何想法吗?

解决方法

这是damerau-Levenshtein距离和Levenshtein距离算法的实现

你可以检查这个StringMetric算法你有什么需要

https://github.com/autozimu/StringMetric.swift

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐