正規表現:CSVをカンマで解析し、引用符内のカンマを無視

887 ワード

需要: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);

    }

}

出力:a b c“1000”
 
変換元: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/