作者:Pisces2lemon | 来源:互联网 | 2022-12-01 13:40
我最近遇到了这个问题,不知道如何解决它.我知道在String类中,我们有split方法接受正则表达式并且基于正则表达式,给定的字符串被拆分成不同的字符串并以字符串数组的形式返回.
例如,如果我有,
String s = "A,B,C";
我做到了,
System.out.println(Arrays.toString(s.split(",")));
它会将[A,B,C]打印到输出控制台.
现在让我们说我的字符串是
String s = "A,\"\"B\"\",\"\"C\"\",D"; //easier to read version: A,""B"",""C"",D
我使用以下正则表达式来分割字符串,
String regex = ",|,\"\"|\"\",|\"\",\"\""; // matches , OR ,"" OR "", OR "",""
System.out.println(Arrays.toString(s.split(regex)));
我得到输出为[A,""B,""C,D].拆分如何在这里工作?我如何定义我的正则表达式,以便我得到[A,B,C,D]作为我的输出?
注意:我知道我想要实现的目标可以通过其他方式完成(例如replaceAll方法),但我只想使用String.split来解决这个问题,因为在这种情况下我想知道如何使用它.
1> Toto..:
始终订购从最大到最小的替代品:
String regex = "\"\",\"\"|,\"\"|\"\",|,";