最佳字符串比较方法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

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...