objective-c中字符串中的空格数

时间:2010-08-14 02:33:12

标签: objective-c iphone

有没有办法计算字符串中的空格数,例如“你好吗?”在Objective-C?

2 个答案:

答案 0 :(得分:7)

你可以这样做:

[[string componentsSeparatedByString:@" "] count]

此外,请参阅此问题以了解其他几个解决方案:Number of occurrences of a substring in an NSString?

答案 1 :(得分:1)

如果你想获得单词之间的空格数,你可以[[string componentsSeparatedByString:@" "] count] - 1(空格总是比单词少1)。

然而,这只会得到单词之间的空格数,而不是空格的总数(即" How are you ? "将有3个空格,如果这就是你需要的那就没问题)。但是,如果你想要字符串中的空格总数,请循环遍历它。

NSUInteger spaces = 0;
for (NSUInteger index = 0; index < [string length]; index++) {
    if ([string characterAtIndex:index] == ' ') {
        spaces++;
    }
}

这将为"_How__are_you___?___"生成11(代码格式化程序删除一行中的额外空格,因此我必须显示带下划线的空格)。