你如何获得NSTextStorage/NSString中的单词数量?

The*_*mer 3 cocoa objective-c

所以我的问题基本上是如何获得NSTextStorage/NSString中的单词数量?我不想要字符长度而是字长.谢谢.

Lil*_*ard 8

如果您使用的是10.6或更高版本,则以下内容可能是最简单的解决方案:

- (NSUInteger)numberOfWordsInString:(NSString *)str {
    __block NSUInteger count = 0;
    [str enumerateSubstringsInRange:NSMakeRange(0, [str length])
                            options:NSStringEnumerationByWords|NSStringEnumerationSubstringNotRequired
                         usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) {
        count++;
    }];
    return count;
}
Run Code Online (Sandbox Code Playgroud)

如果要在进行分词时考虑当前区域设置,还可以将NSStringEnumerationLocalized添加到选项中.