试试这个:
String source = "Alpha,Beta,Gama,"23-5-2013,TOM",TOTO,"Julie, KameLn" + "Titi",God," timmy, tomy,tony,n" + "tini".";Pattern p = Pattern.compile("(([^"][^,]*)|"([^"]*)"),?");Matcher m = p.matcher(source);while(m.find()){ if(m.group(2) != null) System.out.println( m.group(2).replace("n", "") ); else if(m.group(3) != null) System.out.println( m.group(3).replace("n", "") );}
如果它匹配不带引号的字符串,则结果将在第2组中返回。带引号的字符串将在组3中返回。因此,我需要在while块中进行区分。您可能会找到更漂亮的方法。
输出:
Alpha
Beta
Gama
23-5-2013,TOM
TOTO
朱莉,KameLTiti
神
timmy,tomy,tony,tini
。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)