如何使用从Objective-c中的URL查询接收的逗号分隔值?

时间:2010-03-17 13:55:25

标签: iphone objective-c

如何在Objective-c中使用从URL查询收到的逗号分隔值? 当我查询URL时,我得到csv,如(“OMRUAH = X”,20.741,“3/16/2010”,“1:52 pm”,20.7226,20.7594)。 如何在我的应用程序中捕获并使用它?

2 个答案:

答案 0 :(得分:0)

您有两种选择:

使用CSV解析器:http://freshmeat.net/projects/ccsvparse

或者将数据自己解析为数组:

// myString is an NSString object containing your data
NSArray *array = [myString componentsSeparatedByString: @","];

答案 1 :(得分:0)

我最近处理了Yahoo!的CSV解析财务也是如此。我使用Ragel在C中编写了一个解析器,它对我所获得的CSV来说已经足够了。它处理了所有但都没有报价的报价,这些报价不会出现太多的股票报价。这是非常轻松和良好的学习经验。我发布了代码,但这是出于工作的原因,所以我不拥有它。

将C字符串转换为NSString很容易。如果您将其作为NSData,就像在URL下载结束时那样,只需执行[[NSString alloc] initWithData:csvData encoding:NSUTF8StringEncoding]。如果您有指向字符缓冲区的指针,请使用[[NSString alloc] initWithBytes:buffer length:buflen encoding:NSUTF8StringEncoding]。如果buflen是正常的NUL终止的C字符串,则strlen(buffer)可以是buffer