我的主要问题是,我试图在Java中读取由;
分隔的CSV,当我试图读取包含;
的CSV字段时,问题就出现了。例如:
"我希望你这样做">
在这种情况下,字段像一样被识别
"我希望你这样做">
它创建了另一个字段,该字段只是一个空字符串。我使用BufferedReader
读取CSV,使用split
方法将其与;
分离。我不允许使用像OpenCSV这样的库,所以我想用我正在使用的方法找到一个解决方案。
根据引号进行分析
如果附带包含分隔符的数据用双引号(QUOTETION MARK(括起来,那么解析应该没有问题。您的解析应该首先查找双引号字符对。然后,查找这些对之外的分隔符。
我强烈建议使用CSV库,而不是自己编写解析代码。在Java生态系统中,您可以选择大量优秀的产品。例如,我成功地使用了Apache Commons CSV。
另请参阅CSV:RFC 4180的规范。