Java 需要帮助字符串。split()

Java 需要帮助字符串。split(),java,split,Java,Split,我有一些格式如下的数据 int,int,'string',int,'string' 每个字符串都用“”括起来,我的问题是有些字符串包含逗号,如何确保string.split()在“”内时不会拆分?如果您自己创建数据,则可以使用不同的分隔符作为拆分时的分隔符 或者,您可以使用逗号作为分隔符的拆分,然后遍历数组,对每个字符串条目计算找到的引号数量,并重新组合包含单个引号的元素,这些引号按数组顺序彼此流动。您可以使用像“/(“*?”[^“,\s]+)(?=\s*,|\s*$)/g这样的正则表达式吗“

我有一些格式如下的数据

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

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

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


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

您可以使用像
“/(“*?”[^“,\s]+)(?=\s*,|\s*$)/g这样的正则表达式吗“
然后使用并检查它是否有效?大概是这样的:

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);
}

为此使用解析器
String.split()
对于此类任务来说是一个完全不合适的工具。请查看Spring的StringUtils非常适合此类工作。谢谢Jayamohan,这正是我的问题,我现在就可以使用了!)