找到NSString中空格数的最快方法是什么?

时间:2011-11-23 22:38:52

标签: cocoa

我有一个NSString,我想找到它中的空格数。什么是最快的方式?

3 个答案:

答案 0 :(得分:3)

执行速度可能不是最快,但输入速度最快:

[[myString componentsSeparatedByString:@" "] count]-1

答案 1 :(得分:1)

我试过这个似乎有效。可能有可能进行优化,但如果绝对必要,您只需要担心。

NSUInteger spacesInString(NSString *theString) {
    NSUInteger result = 0;
    if ([theString length]) {
        const char *utfString = [theString UTF8String];
        NSUInteger i = 0;
        while (utfString[i]) {
            if (' ' == utfString[i]) {
                result++;
            }
            i++;
        }
    }

    return result;
}

答案 2 :(得分:0)

我没有对此进行过测试,但它似乎应该起作用了。

int spacesCount = 0;

NSRange textRange;
textRange = [string rangeOfString:@" "];

if(textRange.location != NSNotFound)
{
    spacesCount = spacesCount++;
}

NSLog(@"Spaces Count: %i", spacesCount);