我该如何解析字符串 String str = "abc, \"def,ghi\""
;
以便使输出为
String[] strs = {"abc", "\"def,ghi\""}
即一个长度为2的数组。
我应该使用正则表达式还是Java API或其他开源项目中有任何方法可以让我做到这一点?
编辑
为了给问题提供背景,我正在读取一个文本文件,其中每行都有一个记录列表。每个记录都有由分隔符(逗号或分号)分隔的字段列表。现在我有一个要求,我必须支持文本限定符,就像Excel或Open Office支持的那样。假设我有记录
abc,“def,ghi”
在这个字符串中,,是我的分隔符,而“是我的文本限定符,这样当我解析这个字符串时,我应该得到两个字段abc和def,ghi,而不是{abc,def,ghi}。
希望这清楚地说明我的要求。
谢谢
Shekhar
{"abc", "def,ghi"}
还是{"abc", "\"def,ghi\""}
? - David Hedlund