Fork me on GitHub

正则表达式:根据逗号解析CSV并忽略引号内的逗号

需求:解析CSV文件并忽略引号内的逗号

解决方案:

public static void main(String[] args) {
    String s = "a,b,c,\"1,000\"";
    String[] result = s.split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)");
    for (String str : result) {
        System.out.println(str);
    }
}

输出:



“1,000″

 

转自:http://liguoliang.com/2013/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%EF%BC%9A%E6%A0%B9%E6%8D%AE%E9%80%97%E5%8F%B7%E8%A7%A3%E6%9E%90csv%E5%B9%B6%E5%BF%BD%E7%95%A5%E5%BC%95%E5%8F%B7%E5%86%85%E7%9A%84%E9%80%97%E5%8F%B7-splitti/

posted @ 2013-07-18 13:37  _落雨  阅读(1802)  评论(0编辑  收藏  举报