Mam ciąg niejasno taki:
foo,bar,c;qual="baz,blurb",d;junk="quux,syzygy"
że chcę podzielić przecinki - ale muszę zignorować przecinki w cudzysłowie. W jaki sposób mogę to zrobić? Wydaje się, że podejście wyrażenia regularnego kończy się niepowodzeniem; Przypuszczam, że mogę ręcznie zeskanować i przejść do innego trybu, gdy zobaczę cytat, ale dobrze byłoby użyć wcześniej istniejących bibliotek. ( edycja : Myślę, że miałem na myśli biblioteki, które są już częścią JDK lub już są częścią powszechnie używanych bibliotek, takich jak Apache Commons.)
powyższy ciąg powinien zostać podzielony na:
foo
bar
c;qual="baz,blurb"
d;junk="quux,syzygy"
Uwaga: to NIE jest plik CSV, to pojedynczy ciąg znaków zawarty w pliku o większej ogólnej strukturze
String line = "equals: =,\"quote: \"\"\",\"comma: ,\""
wszystko, co musisz zrobić, to usunąć obce cudzysłowy podwójne postacie.