gpt4 book ai didi

objective-c - 为什么我的数组中的每个其他对象都是空白的?

转载 作者:太空狗 更新时间:2023-10-30 03:36:45 25 4
gpt4 key购买 nike

我使用以下方法将 CSV 文件读入数组:

NSString *theWholeTable = [NSString stringWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"example" ofType:@"csv"]
encoding:NSUTF8StringEncoding
error:NULL];
NSArray *tableRows = [theWholeTable componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];

数组中每隔一个对象都是空的,知道为什么吗?

CSV 文件数据如下所示:10,156,326,614,1261,1890,3639,5800,10253,2091420,107,224,422,867,1299,2501,3986,7047,14374

10 和 20 是每行的开始。

提前致谢。

编辑我尝试改用以下代码:

NSArray *tableRows = [theWholeTable componentsSeparatedByString:@"\n"];

这也是我想要的方式。

虽然我仍然不确定为什么 newlineCharacterSet 创建了空对象......

最佳答案

如果您的 CSV 文件来自非 UNIX 系统,它可能包含多个行分隔符(例如 \r\n 而不是 \n)。在这种情况下,componentsSeparatedByCharactersInSet 将为 \r\n 之间的空字符序列插入空字符串。

您可以使用此方法从 NSArray 中删除空字符串:

tableRows = [tableRows filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"length > 0"]];

关于objective-c - 为什么我的数组中的每个其他对象都是空白的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8628141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com