【问题标题】:how to remove commas between the String in the csv file using java如何使用java删除csv文件中字符串之间的逗号
【发布时间】:2016-07-28 00:55:54
【问题描述】:

我的 CSV 文件如下所示

"Gates Nissan of Richmond" , "L2T Media, Llc" , "7000000", "--"

我想从 CSV 中的 "L2T Media, Llc" 中删除逗号(,)

这样,我的输出将是"L2T Media Llc"

如何在 Java 编码中做到这一点?

【问题讨论】:

  • 通过编写这样做的代码。 replaceAll 浮现在脑海中。或者,使用 split 方法编写自己的算法
  • 您可以尝试使用引号而不是逗号进行拆分。
  • 我只需要删除 csv 文件中双引号内的逗号。就是这样
  • 请问您为什么要删除逗号? - 我只是问,因为它对我来说是一个完全格式良好的 CSV 行。而且我认为消除逗号只是不修复消费软件中的 CSV 解析的一种解决方法。

标签: java csv


【解决方案1】:

你可以试试这样的:

String str = "\"Gates Nissan of Richmond\" , \"L2T Media, Llc\" , \"7000000\", \"--\"";
List<String> items = new ArrayList<String>();
for(String item : Arrays.asList(str.substring(1, str.length()-1).split("\"+\\s*,\\s*\"+")))
    items.add("\"" + item.replace(",", "") + "\"");

System.out.println(items);

输出:

["Gates Nissan of Richmond", "L2T Media Llc", "7000000", "--"]

【讨论】:

    【解决方案2】:

    基于this answer:

    public static void main(String[] args) {
        String s = "\"Gates Nissan of Richmond\" , \"L2T Media, Llc\" , \"7000000\", \"--\"";
        String[] splitted = s.split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)");
        for(String item : splitted) {
            item.replaceAll(",", "");
        }
    }
    

    【讨论】:

    • 这也适用于转义引号吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多