I have one string
5,(5,5),C\'A,B\',\'A,B\',\',B\',\'A,\',\"A,B\",C\"A,B\"
I want to split it on comma but need to exclude commas within pa
Instead of split
ting the string, consider matching instead.
String s = "5,(5,5),C'A,B','A,B',',B','A,',\"A,B\",C\"A,B\"";
Pattern p = Pattern.compile("(?:[^,]*(['\"])[^'\"]*\\1|\\([^)]*\\))|[^,]+");
Matcher m = p.matcher(s);
while (m.find()) {
System.out.println(m.group());
}
Output
5
(5,5)
C'A,B'
'A,B'
',B'
'A,'
"A,B"
C"A,B"