我正在尝试将格式化字符串的值分隔为数组。我有字符串指定格式,但无法找到一种方法来获取给定格式的格式化字符串的值。
这是格式字符串:
fmt=['%2i %2i %4i %2i %2i %2i %1i %11.7f %11.7f %12.5f %12.5f ' ...
'%5.2f %11.5f %5.2f %6.2f %2i %1i %9.5f %9.5f %3i\n'];
以下是我想分开的格式化字符串示例:
5 27 2015 2 21 17 0 32.3788833 -64.6799500 6.16800 -0.12000 5.53 0.36000 5.40 6.03 4 4 -99.99999 -99.99999 999
有没有办法做到这一点?如果没有,在objective-c中我可以用一个空格替换连续的空格然后用一个空格分开吗?
答案 0 :(得分:0)
希望这有帮助,
NSString *yourStr = @"5 27 2015 2 21 17 0 32.3788833 -64.6799500 6.16800 -0.12000 5.53 0.36000 5.40 6.03 4 4 -99.99999 -99.99999 999 ";
NSPredicate *nonEmptyValue = [NSPredicate predicateWithFormat:@"SELF != ''"];
NSArray *parts = [yourStr componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
NSArray *finalArr = [parts filteredArrayUsingPredicate:nonEmptyValue];
答案 1 :(得分:0)
您可以使用NSString
' componentsSeparatedByString:
将字符串转换为NSArray
。
示例:
NSString *string = @"5 27 2015 2 21 17 0 32.3788833 -64.6799500 6.16800 -0.12000 5.53 0.36000 5.40 6.03 4 4 -99.99999 -99.99999 999";
NSArray *array = [string componentsSeparatedByString:@" "];
P.S。 确保从前导/尾随空格中清除字符串,并将多个连续空格转换为单个空格字符。