我扫描了文字:
Mils, chiiese, wh_ite ch$col_te
和表达式列表,例如:
- cheese
- bread
- white chocolate
- etc.
我需要将损坏的表达式与我的列表中的表达式进行比较,例如。 “白巧克力”和“wh_ite ch$col_te”。
也许你推荐一些框架。
字符串距离 - Levenshtein 距离
您需要做的是测量两个字符串之间的差异。为此,您可以使用编辑距离 http://en.wikipedia.org/wiki/Levenshtein_distance.
祝你好运,有人已经在 Swift 中实现了这个算法HERE https://gist.github.com/bgreenlee/52d93a1d8fa1b8c1f38b.
为了让它在 Swift 1.2 中工作,你只需要自动修复一些发生的错误,没什么太花哨的。
然后你可以像这样使用它:
println(levenshtein("wh_ite ch$col_te", bStr: "white chocolate")) // prints 3, because you have to change 3 letters to get from aStr to bStr
println(levenshtein("wh_ite ch$col_te", bStr: "whsdfdsite chosdfsdfcolate")) // prints 13, because you have to change 13 letters to get from aStr to bStr
然后您只需设置容差即可完成!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)