我有一些用逗号分隔的记录。我需要将文件中的记录分开,并将其放入数组中。我遇到的问题是文本是用逗号分隔的,但是某些字段中有逗号,因此不应将它们用作分隔符。
例如,当一个字段指定一个地址时,如本例所示:"2, foo , 403 HAPPY LANE Seattle, WA., etc"
以下是我正在使用的代码示例:
// Start streams....
String str = null;
List<String> items = null;
while((str = bufr.readLine()) != null) {
items = Arrays.asList(str.replace("\"", "").split("\\s*,\\s*"));
while(true) {
System.out.println (items);
我对csv和所有这些都了解,但是我宁愿不使用它。
最佳答案
如果需要忽略的逗号在引号内,则可以使用OpenCSV之类的包。它将忽略被引用的昏迷。
Apache Commons也列出了其他一些here。
但是,如果没有引用逗号,则您无法期望计算机知道一个逗号是分隔符,而不是分隔符。
关于java - 当某些元素也包含逗号时,如何从逗号分隔的文本中解析元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13365846/