2012-01-26 4 views
2

Я попробовал следующую реализацию:Получить количество белых пробелов в строке, начинающейся

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

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

Количество непечатаемых должно быть [spaces length]. Тем не менее, все тесты, которые я пробовал, всегда возвращались 0.

Любые идеи?

ответ

3

Использование setCharactersToBeSkipped:. Документы говорят,

Набор символов по умолчанию, заданный по умолчанию, представляет собой набор символов пробелов и символов новой строки.

Таким образом, он просто пропускает префикс пробела.

Существует еще один способ сделать это:

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

Fabulous ответ, спасибо! –

Смежные вопросы