Cocoa touch 比较两个字符串的相似性

Cocoa touch 比较两个字符串的相似性,cocoa-touch,nsstring,compare,Cocoa Touch,Nsstring,Compare,我想比较两个NSStrings。如果用户输入“Stonehhengge”,应该得到一个“答案边界”=“几乎相等”,因为正确的答案是:“Stonehhenge” 我想要一个字符串等于另一个字符串的百分比。如果“Stonhenge”是9个字母,键入的文本包含来自“Stonhenge”的8个字母,但它不等于“Stonhenge”,例如:“Stonehange”不等于“Stonhenge”,但它很接近-我想知道字符串的匹配程度 我只知道isEqual:。如果您键入“巨石阵”,您将匹配并获得正确的符号。如

我想比较两个
NSString
s。如果用户输入“Stonehhengge”,应该得到一个“答案边界”=“几乎相等”,因为正确的答案是:“Stonehhenge”

我想要一个字符串等于另一个字符串的百分比。如果“Stonhenge”是9个字母,键入的文本包含来自“Stonhenge”的8个字母,但它不等于“Stonhenge”,例如:“Stonehange”不等于“Stonhenge”,但它很接近-我想知道字符串的匹配程度

我只知道isEqual:。如果您键入“巨石阵”,您将匹配并获得正确的符号。如果文本字段的文本不相等,则不会得到匹配项并得到错误的符号。

EDIT 你想要的是计算


你可能想看看这个问题

我喜欢这个库,StringScore

它提供了以下有用的方法:

- (CGFloat) scoreAgainst:(NSString *)otherString;

- (CGFloat) scoreAgainst:(NSString *)otherString fuzziness:(NSNumber *)fuzziness;

- (CGFloat) scoreAgainst:(NSString *)otherString fuzziness:(NSNumber *)fuzziness options:(NSStringScoreOption)options;

他们想要一个“几乎相等”的答案。看起来我想我当时不明白这个问题,你能把它细化一点吗?你需要查找模糊逻辑字符串匹配,或者字符串匹配启发式。。。我不认为有什么是自动的。@incmiko我编辑你的问题是为了让你的问题更清楚,如果你认为我歪曲了什么,请告诉我。