我有一些像
这样的格式的数据int,int,'string',int,'string'
每个字符串都用''括起来,我的问题是有些字符串包含逗号,我怎样才能确保string.split()在内部''时不会分裂?
答案 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);
}