iphone - NSString内置的方法来比较相似字符的数量

标签 iphone ios objective-c

是否有内置方法(我无法通过搜索文档找到它)来查看两个字符串中相似字母的数量?字母的顺序无关紧要,因此将“abc”与“cad”进行比较将对字符“c”和“d”具有66%的匹配率。发生的次数也很重要。 “a”应该在第一次匹配,但第二次不匹配,因为两个字符串之间只有一个共同的“a”。目前是否有内置的方法可以通过使用按位操作来执行此操作,还是必须循环并手动比较?

最佳答案

您将必须自己构建它,但这是执行此操作的捷径。有一个内置的集合类NSCountedSet。该对象保留每个唯一对象以及每个对象的添加数量。

您可以采用两个字符串并将其字符加载到两个不同的NSCountedSet集合中。然后,只需检查结果集合中的项目即可。例如,从第一个NSCountedSet抓取一个对象。检查第二个NSCountedSet中是否存在它。该特定字母的2个计数中较小的一个是2个字符串共有多少个字母。为了缩短迭代次数,请从具有较少对象的集合开始,然后枚举这些对象。

这是Apple的NSCountedSet文档。
https://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Classes/NSCountedSet_Class/Reference/Reference.html

关于iphone - NSString内置的方法来比较相似字符的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15258624/

相关文章:

iphone - 查找 iPhone 型号信息

ios - iOS 应用程序上带有 PhoneGap 的 native 选项卡栏

objective-c - NSFileManager setUbiquitous:是,我的文件陷入了困境!为什么?

ios - 尝试在 youtube-ios-player-helper 上设置播放速度,但没有任何反应

objective-c - swift 中的闭包可以用于两个类之间的通信吗?

iphone - 让 modalViewController 出现的问题

iphone - 获取 nsdictionary 中特定键的值

iphone - UIScrollView 自动调整内容大小?

ios - 在 UITableview Cell 中播放视频

objective-c - iOS - 文本字段到 int 变量