有没有办法计算字符串中的空格数,例如“你好吗?”在Objective-C?
答案 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(代码格式化程序删除一行中的额外空格,因此我必须显示带下划线的空格)。