我有一个csv文件,其中包含一组产品详细信息及其价格。我需要解析这个csv文件来执行一些搜索查询。
是的,我尝试了https://github.com/ha-minh-vuong/CSVParser但是这个库在解析产品价格时失败了。因为在我的CSV产品价格中包含逗号。
“12,500.00”
P.S:行分隔符必须是逗号,因为我直接从客户端获取此CSV。我无法改变任何事情
答案 0 :(得分:14)
你想要Dave DeLong的那个。它在github上。这是goto CSV库
答案 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);
}