如何在iPhone应用程序中使用正则表达式来分隔字符串,(逗号)

Dev*_*per 7 regex csv iphone nsregularexpression

我必须阅读有三列的.csv文件.在解析.csv文件,我得到的字符串以这种格式克里斯托弗·贝斯,\"惊魂亲爱的祖国最终散文\",cbass@cgs.k12.va.us.我想在一个数组中存储三列的值,所以我使用了componentSeparatedByString:@","方法!它成功地将数组返回给我三个组件:

  1. 克里斯托弗巴斯
  2. 哭泣心爱的乡村最后的文章
  3. cbass@cgs.k12.va.us

但是当列值中已经有一个逗号时,就像这个 克里斯托弗巴斯,"哭泣,心爱的国家最后的论文",cbass @ cgs.k12.va.us 它将四个组成部分分开,因为有一个,哭后(逗号):

  1. 克里斯托弗巴斯
  2. 心爱的国家最后的论文
  3. cbass@cgs.k12.va.us

那么,我如何通过使用正则表达式来处理这个问题.我有"RegexKitLite"类,但我应该使用哪个正则表达式.请帮忙!

谢谢-

El *_*per 2

任何正则表达式都可能会出现同样的问题,您需要的是通过转义逗号或通过以下方式突出显示字符串来清理您的条目或字符串:"My string"。否则你也会遇到同样的问题。祝你好运。

对于您的示例,您可能需要执行以下操作:

\"Christopher Bass\",\"Cry\, the Beloved Country Final Essay\",\"cbass@cgs.k12.va.us\"
Run Code Online (Sandbox Code Playgroud)

这样您就可以使用正则表达式,甚至可以使用类中的相同方法NSString

完全不相关,但是清理字符串的重要性:http://xkcd.com/327/呵呵。