目标C:将数组拆分为子数组

时间:2012-10-26 14:33:23

标签: objective-c arrays

我有一个看起来像这样的文本文件:

#AAA:x
12
34
7
...
#BBB:y
-74.7
-33.2
14
...
#CCC:z
32.4
17
...
#END

我可以将所有内容放在一个大的NSArray中(使用componentsSeparatedByString:@"\n"

现在我想:

AAA浮动NSArray,其中包含标记#AAA:x;

下的所有值

BBB浮动NSArray,其中包含标记#BBB:y下的所有值;等。

我该怎么做?

1 个答案:

答案 0 :(得分:3)

详细说明我的评论,试试这个:

NSMutableArray *subarrays = [[myTest componentsSeparatedByString:@"#"] mutableCopy];
for (int i = 0; i < subarray.length; i++) {
    NSArray *subarray = [subarrays[i] componentsSeparatedByString:@"\n"];
    subarray = [subarray subarrayWithRange:NSMakeRange(1, subarray.length-1)];
    subarrays[i] = subarray;
}

这应该会产生一个字符串数组数组。

所以subarrays[0]将是一个包含这些元素的字符串数组:12,34,7。 子阵列[1] [2]将是一个字符串“14”

如果你想要浮点数而不是字符串,你将需要额外迭代所有条目并将它们转换为浮点数。您可以使用NSString的{​​{1}}方法来执行此操作。