1

我想比较两个NSStrings。如果用户输入“巨石阵”,应该得到一个“答案边界”=“几乎等于”,因为正确的答案是:“巨石阵”。

我想要一个字符串等于另一个字符串的百分比。如果“巨石阵”是 9 个字母,并且输入的文本包含来自“巨石阵”的 8 个字母,但它不等于“巨石阵”,例如:“巨石阵”不等于“巨石阵”,但它接近 - 我会想知道字符串有多接近匹配。

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

4

2 回答 2

3

编辑 你想要的是计算Levenshtein Distance

你可能想看看这个问题Calculate number of Differences between two NSStrings

于 2013-01-21T19:07:46.893 回答
0

我喜欢这个库,StringScore https://github.com/thetron/StringScore

它为您提供了这些有用的方法:

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

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

- (CGFloat) scoreAgainst:(NSString *)otherString fuzziness:(NSNumber *)fuzziness options:(NSStringScoreOption)options;
于 2014-05-11T23:12:51.347 回答