是否有适合ios的CSV解析器?

时间:2013-12-10 05:25:29

标签: ios objective-c parsing csv

我有一个csv文件,其中包含一组产品详细信息及其价格。我需要解析这个csv文件来执行一些搜索查询。

是的,我尝试了https://github.com/ha-minh-vuong/CSVParser但是这个库在解析产品价格时失败了。因为在我的CSV产品价格中包含逗号。

“12,500.00”

P.S:行分隔符必须是逗号,因为我直接从客户端获取此CSV。我无法改变任何事情

更新:

样品行
DSK0009,HL,0.02,HQ,F,AI2, - , - , - , - ,粉红色, - , - ,“12,500.00”,“1,150.00”

2 个答案:

答案 0 :(得分:14)

你想要Dave DeLong的那个。它在github上。这是goto CSV库

https://github.com/davedelong/CHCSVParser

答案 1 :(得分:0)

你可以使用正则表达式

NSString *source = @"DSK0009, HL , 0.02 , HQ , F , AI2 ,-,-,-,-,Pink,-,-,\"12,500.00\",\"1,150.00\"";
NSString *pattern = @"(?:^|,)\"?((?<=\")[^\"]*|[^,\"]*)\"?(?=,|$)";
NSRegularExpression *nameExpression = [NSRegularExpression regularExpressionWithPattern:pattern options:NSRegularExpressionAllowCommentsAndWhitespace error:nil];
NSArray *matches = [nameExpression matchesInString:source
                                           options:0
                                             range:NSMakeRange(0, [source length])];
for (NSTextCheckingResult *match in matches) {
    NSRange matchRange = [match rangeAtIndex:1];
    NSString *matchString = [source substringWithRange:matchRange];
    NSLog(@"%@", matchString);
}