sta*_*rob 7 objective-c nsdictionary nsstring
我正在尝试编写一个方法:
- (NSDictionary *)wordFrequencyFromString:(NSString *)string {}
Run Code Online (Sandbox Code Playgroud)
返回的字典将包含单词以及它们在提供的字符串中使用的频率.不幸的是,我似乎无法找到一种方法来迭代字符串中的单词来分析每一个单词 - 只有每个字符似乎比必要的工作更多.有什么建议?
NSString有一个-enumerateSubstringsInRange:方法,允许直接枚举所有单词,让标准api做所有必要的东西来定义单词边界等:
[s enumerateSubstringsInRange:NSMakeRange(0, [s length])
options:NSStringEnumerationByWords
usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) {
NSLog(@"%@", substring);
}];
Run Code Online (Sandbox Code Playgroud)
在枚举块中,您可以使用带字的NSDictionary作为键,使用NSNumber作为计数,或使用NSCountedSet为计数提供所需的功能.
| 归档时间: |
|
| 查看次数: |
1734 次 |
| 最近记录: |