1

我有一些格式如下的数据

int,int,'string',int,'string'

每个字符串都用 '' 括起来,我的问题是某些字符串包含逗号,我如何确保 string.split() 在 '' 内不会拆分?

4

2 回答 2

0

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

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

于 2013-05-13T09:49:44.077 回答
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);
}
于 2013-05-13T09:56:39.437 回答