JavaにてCSV行の読み込み
たぶん、こんな感じかな?
public static String[] splitCSV(String line) { final Pattern p = Pattern.compile( "\\G\\s*(?:\"((?:[^\"]+|\"\"\")*)\"|((?:[^,\\s]+[\\s]*?)*))\\s*(?:(,)|\\z)" ); Matcher m = p.matcher(line); List<String> ary = new ArrayList<String>(); while(true) { m.find(); if(m.start(1)!=-1) { ary.add(m.group(1).replace("\"\"\"", "\"")); } else if(m.start(2)!=-1) { ary.add(m.group(2)); } if(m.start(3)==-1) { break; } } return ary.toArray(new String[ary.size()]); }