小编met*_*eap的帖子

Java - 带有冲突正则表达式的string.split

我最近遇到了这个问题,不知道如何解决它.我知道在String类中,我们有split方法接受正则表达式并且基于正则表达式,给定的字符串被拆分成不同的字符串并以字符串数组的形式返回.

例如,如果我有,

String s = "A,B,C";
Run Code Online (Sandbox Code Playgroud)

我做到了,

System.out.println(Arrays.toString(s.split(",")));
Run Code Online (Sandbox Code Playgroud)

它会将[A,B,C]打印到输出控制台.

现在让我们说我的字符串是

String s = "A,\"\"B\"\",\"\"C\"\",D";   //easier to read version: A,""B"",""C"",D
Run Code Online (Sandbox Code Playgroud)

我使用以下正则表达式来分割字符串,

String regex = ",|,\"\"|\"\",|\"\",\"\"";  // matches , OR ,"" OR "", OR "",""
System.out.println(Arrays.toString(s.split(regex)));
Run Code Online (Sandbox Code Playgroud)

我得到输出为[A,""B,""C,D].拆分如何在这里工作?我如何定义我的正则表达式,以便我得到[A,B,C,D]作为我的输出?

注意:我知道我想要实现的目标可以通过其他方式完成(例如replaceAll方法),但我只想使用String.split来解决这个问题,因为在这种情况下我想知道如何使用它.

java regex string split

3
推荐指数
1
解决办法
53
查看次数

标签 统计

java ×1

regex ×1

split ×1

string ×1