【发布时间】:2014-10-17 10:31:02
【问题描述】:
我正在尝试编写一个函数来确定一个NSString* 是否包含另一个NSString* 的字符。例如,请参考以下场景:
NSString *s1 = @"going";
NSString *s2 = @"ievngcogdl";
所以本质上,当这两个字符串之间发生比较时,它应该返回 true,因为第一个字符串 s1 与第二个字符串 s2 具有相同的字符。我可以使用NSCountedSet 吗?我知道这个类有一个方法containsObject:(id) 虽然我不认为这会解决我的问题。还有其他方法可以完成此功能并为我提供所需的结果吗?
【问题讨论】:
-
对于少数情况,我可能会从第一个字符串中取出每个字符,将其放入 NSString 中,然后在第二个字符串中执行
rangeOfString。如果我必须对第二个字符串进行大量搜索,我会将字符(转换为 NSNumbers)放在一个集合中,并从第一个字符串中一次搜索一个字符。但是 Droppy 的方式可能是一个很好的折衷方案(尽管可以通过在开始之前将两个字符串提取为 unichar 数组来加速它)。
标签: ios objective-c string nsstring nscountedset