kullanarak bir dize
Java: (") Bir ayırıcı olarak virgül (,) kullanarak bir dize bölmek ve iç tırnak herhangi virgül görmezden zorunda Regex
fieldSeparator : ,
fieldGrouper : "
dize bölün bölünmeye geçerli: "1","2",3,"4,5"
şöyle bunu başarmak mümkün duyuyorum:
String record = "\"1\",\"2\",3,\"4,5\"";
String[] tokens = record.split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)");
Çıktı:
"1"
"2"
3
"4,5"
Şimdi meydan fieldGrouper (") bölünmüş jeton bir parçası olması gerektiğidir. Bunun için normal ifadeleri anlayamıyorum.
bölünmüş beklenen çıkışı:
1
2
3
4,5
Ben this char-by-Char yaptığını düşünüyorum İşte
bir Java sample code olduğunu aslında daha okunabilir ve kesinlikle daha hızlı olacaktır. Ve algoritma aldığı kadar basit. Er ya da geç görünecek olan "" "istisnasının üstesinden gelmek daha kolaydır. – DariuszNeden hatalı biçimlendirilmiş JSON girişiyle çalıştığınızı sorabilir miyiz? Alıntılar ile funkyness başa çıkmak için bu zor ve kaynak temizlemek için daha iyi olabilir. –