正则表达式:根据逗号解析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); } }
输出:
a
b
c
“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/