Java: dividir una cadena separada por comas pero ignorar comas entre comillas
Tengo una cadena vagamente como esta:
foo,bar,c;qual="baz,blurb",d;junk="quux,syzygy"
que quiero dividir por comas, pero necesito ignorar comas entre comillas. ¿Cómo puedo hacer esto? Parece que falla un enfoque de expresión regular; Supongo que puedo escanear manualmente e ingresar a un modo diferente cuando veo una cita, pero sería bueno usar bibliotecas preexistentes. (editar: Supongo que me refería a las bibliotecas que ya forman parte del JDK o ya forman parte de las bibliotecas de uso común, como Apache Commons.
la cadena anterior debe dividirse en:
foo
bar
c;qual="baz,blurb"
d;junk="quux,syzygy"
Nota: Este NO es un archivo CSV, es una sola cadena contenida en un archivo con una estructura general más grande