我有一个NSString
,其中包含一些由未知数量的空白字符分隔的值。例如:
NSString* line = @"1 2 3";
我想将NSString
分成NSArray
这样的值:{@"1", @"2", @"3"}
。
答案 0 :(得分:21)
将组件分隔为@" "
,并从结果数组中删除@""
之类的所有对象。
NSString* line = @"1 2 3";
NSMutableArray *array = (NSMutableArray *)[line componentsSeparatedByString:@" "];
[array removeObject:@""]; // This removes all objects like @""
答案 1 :(得分:4)
这应该可以解决问题(假设值不包含空格):
// Gives us [@"1", @"2", @"", @"", @"", @"", @"3"].
NSArray *values = [line componentsSeparatedByCharactersInSet:
[NSCharacterSet whitespaceCharacterSet]];
// Remove the empty strings.
values = [values filteredArrayUsingPredicate:
[NSPredicate predicateWithFormat:@"SELF != ''"]];