Разделить NSString по количеству пробелов - PullRequest
7 голосов
/ 24 сентября 2011

У меня есть NSString, который содержит некоторые значения, разделенные неизвестным количеством пробельных символов. Например:

NSString* line = @"1 2     3";

Я хотел бы разделить NSString на NSArray значений следующим образом: {@"1", @"2", @"3"}.

Ответы [ 2 ]

21 голосов
/ 24 сентября 2011

Получите компоненты, разделенные @" ", и удалите все объекты, например @"", из результирующего массива.

NSString* line = @"1 2     3";
NSMutableArray *array = (NSMutableArray *)[line componentsSeparatedByString:@" "];
[array removeObject:@""]; // This removes all objects like @""
4 голосов
/ 24 сентября 2011

Это должно сработать (если значения не содержат пробелов):

// Gives us [@"1", @"2", @"", @"", @"", @"", @"3"].
NSArray *values = [line componentsSeparatedByCharactersInSet:
    [NSCharacterSet whitespaceCharacterSet]];

// Remove the empty strings.
values = [values filteredArrayUsingPredicate:
    [NSPredicate predicateWithFormat:@"SELF != ''"]];
...