栗子:
private static String regex(String str){ Pattern p = Pattern.compile(",(?!(?:[^"]*"[^"]*")*[^"]*$)"); Matcher m = p.matcher(str); StringBuffer sb=new StringBuffer(); while(m.find()){ m.appendReplacement(sb,m.group().replace(",", "_")); } m.appendTail(sb); return sb.toString(); }
public static void main(String[] args) { String str = ""2019-12-27T00:00:00.000Z","5dfdaae60f2,56d5a36,351833","GODROP","AG","5e02314ef5f6ec92c73207d5","Caribeen-GP-1224",2,0,0,0,0,0,3"; System.out.println(regex(str)); }