我必须使用逗号(,)作为分隔符拆分字符串,并忽略引号内的任何逗号(")
fieldSeparator : ,
fieldGrouper : "
要拆分的字符串是: "1","2",3,"4,5"
我能够实现如下:
String record = "\"1\",\"2\",3,\"4,5\"";
String[] tokens = record.split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)");
Run Code Online (Sandbox Code Playgroud)
输出:
"1"
"2"
3
"4,5"
Run Code Online (Sandbox Code Playgroud)
现在的挑战是fieldGrouper(")不应该是拆分令牌的一部分.我无法弄清楚这个的正则表达式.
拆分的预期输出是:
1
2
3
4,5
Run Code Online (Sandbox Code Playgroud)