我看到有几个类似的问题,但是我没有找到满意的答案。我有一个逗号分隔的文件,其中每一行看起来像这样:

4477,52544,,,P,S,    ,,SUSAN JONES,9534 Black Bear Dr,,"CITY, NV 89506",9534 BLACK BEAR DR,,CITY,NV,89506,2008,,,,  ,     ,    , ,,1


出现的问题是令牌通过引号“ CITY,NV 89506”转义为逗号时

我需要一个结果,其中处理了转义的令牌并且包括了每个令牌,即使是空令牌也是如此

将不胜感激!

最佳答案

考虑适当的CSV分析器,例如opencsv。它会经过高度测试(不同于新的本地解决方案),并且能够处理您描述的边缘条件(以及您尚未考虑的很多条件)。

在下载中,有一个示例文件夹,其中包含带有以下行的“ addresses.csv”:

Jim Sample,"3 Sample Street, Sampleville, Australia. 2615",[email protected]


在同一目录中,文件AddressExample.java解析该文件,并且与您的问题高度相关。

关于java - 用转义引号分隔逗号分隔的字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12737399/

10-11 03:02