【发布时间】:2011-01-15 13:16:14
【问题描述】:
我有一个以下格式的 csv 文件。
H,"TestItems_20100107.csv",07/01/2010,20:00:00,"TT1198","MOBb","AMD",NEW,,
我需要 split 命令忽略双引号内的逗号。所以我使用了之前帖子中的以下拆分命令。粘贴了我执行此命令的 URL
String items[] = line.split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)");
System.out.println("items.length"+items.length);
Java: splitting a comma-separated string but ignoring commas in quotes
当我运行此 CSV 数据时,我将 items.length 打印为 8。“NEW”之后行尾的最后两个逗号被忽略。我希望 split 命令拾取这些逗号并将长度返回为 10。如果它在结尾,它不会拾取空逗号,但如果它在字符串的中间,它会拾取它。不确定我需要在 split 命令中修改什么来解决这个问题。同样在 csv 文件中,文本字段内容中的双引号可以重复(例如“此帐户是一个“大”的帐户”)
【问题讨论】: