检查 Swift 中两个字符串表达式之间的相似性 [英] Check similarity between two string expressions in Swift

查看:22
本文介绍了检查 Swift 中两个字符串表达式之间的相似性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已扫描文本:

Mils, chiiese, wh_ite ch$col_te

和表达式列表,示例:

- cheese
- bread
- white chocolate
- etc.

我需要将损坏的表达式与我的列表中的表达式进行比较,例如.带有wh_ite ch$col_te"的白巧克力".

I need compare broken expression with expression from my list, ex. "white chocolate" with "wh_ite ch$col_te."

也许你会推荐一些框架.

Maybe you recommend some frameworks.

推荐答案

String distance - Levenshtein distance

您需要做的是测量两个字符串之间的差异.为此,您可以使用 Levenshtein distance.

幸运的是,有人已经在 Swift 中实现了这个算法这里.

For your luck, somebody already implemented this algorihtm in Swift HERE.

为了让它在 Swift 1.2 中工作,你只需要自动修复一些发生的错误,没什么特别的.

To make it work in Swift 1.2, you'll just have to autofix some errors that occour, nothing too fancy.

然后您可以像这样使用它:

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

然后您只需设置容差即可完成!

You then just set the tolerance and you are done!

这篇关于检查 Swift 中两个字符串表达式之间的相似性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆