java - 当某些元素也包含逗号时,如何从逗号分隔的文本中解析元素?

标签 java csv comma

我有一些用逗号分隔的记录。我需要将文件中的记录分开,并将其放入数组中。我遇到的问题是文本是用逗号分隔的,但是某些字段中有逗号,因此不应将它们用作分隔符。

例如,当一个字段指定一个地址时,如本例所示:"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/

相关文章:

python - CSV Python 列表

java - 如何在java中打印List<List<String[]>>的值?

php - 在重新加载/重定向期间保持变量结果

python - 如何在Python中返回以逗号和空格分隔的参数副本?

java - 比较java中的两个字符串并识别重复的单词

java - 在java中的泛型方法中将泛型值添加到映射中

java - Android 中有类似 stringByAppendingPathComponent 的东西吗?

C 宏定义中的逗号 (,)

regex - 使用正则表达式匹配多个逗号分隔的单词

java - 更改 Android 选项菜单的外观