获取行首的空白数量

时间:2012-01-26 19:43:03

标签: objective-c nsstring

我尝试了以下实现:

NSString *string = @"    Test";
NSString *spaces = @"";

NSScanner *scanner = [NSScanner scannerWithString:string];
[scanner scanCharactersFromSet:[NSCharacterSet whitespaceCharacterSet] intoString:&spaces];

空格数应为[spaces length]。但是,我尝试的所有测试总是返回0

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

使用setCharactersToBeSkipped:。文档说,

  

要跳过的默认字符集是空格和换行符。

所以它只是默默地跳过空格前缀。

还有另一种方法:

NSUInteger prefixLength = [string rangeOfCharacterFromSet: 
    [NSCharacterSet whitespaceCharacterSet]];