需要帮助string.split()

时间:2013-05-13 09:38:36

标签: java split

我有一些像

这样的格式的数据
int,int,'string',int,'string'

每个字符串都用''括起来,我的问题是有些字符串包含逗号,我怎样才能确保string.split()在内部''时不会分裂?

2 个答案:

答案 0 :(得分:0)

如果您自己创建数据,则可以使用不同的分隔符作为分割时的分隔符。

或者你可以正常使用逗号作为分隔符,然后遍历数组,并为每个字符串条目计数找到的引号数,并重新组合包含单引号的元素,这些元素按照数组顺序相互流动。

答案 1 :(得分:0)

您可以使用"/(".*?"|[^",\s]+)(?=\s*,|\s*$)/g"等正则表达式并使用split()并检查它是否有效吗?像这样:

String str = "int,int,'string',int,'string','string,int'";
String[] arr = str.split("/('.*?'|[^',\\s]+)(?=\\s*,|\\s*$)/g");
for(String string:arr){
     System.out.println(string);
}