java split regex-字符的任意组合
我正在使用3个字符拆分字符串:空格、破折号和逗号 我想要的是能够使用这3个字符的任意组合进行拆分,例如:java split regex-字符的任意组合,java,regex,Java,Regex,我正在使用3个字符拆分字符串:空格、破折号和逗号 我想要的是能够使用这3个字符的任意组合进行拆分,例如: -,(破折号后接逗号)或,(逗号后接2破折号)或-,-(破折号空格逗号空格破折号)等 这给了我一个5长度的数组:[“扇形”、“扇形”、“18B”、“Dwarka”] 我想要一个3长度的数组:[“扇区”、“18B”、“Dwarka”] 如何编写正则表达式?您可以使用“(\\s |,|-)+”作为正则表达式模式 String address = "Sector -18B, Dwarka"; St
-,
(破折号后接逗号)或,
(逗号后接2破折号)或-,-
(破折号空格逗号空格破折号)等
这给了我一个5长度的数组:[“扇形”、“扇形”、“18B”、“Dwarka”]
我想要一个3长度的数组:[“扇区”、“18B”、“Dwarka”]
如何编写正则表达式?您可以使用“(\\s |,|-)+”
作为正则表达式模式
String address = "Sector -18B, Dwarka";
String[] addressParts = address.split("(\\s|,|-)+");
for (String part : addressParts)
System.out.println(part + " - " + part.isEmpty());
输出:
Sector - false
18B - false
Dwarka - false
[\\s,-]+
将执行以下操作job@HamZa-将其作为答案并接受代表;-)@芭丝谢芭:如果我那样做了,我会回答:)@Hamza-我想为你的行为推荐一个“高贵”的徽章;当然是黄金级别。@HamZa:dunnit,以这个问题为例。在字符类中,
被视为一个文本
,这意味着它并不意味着“或”,它实际上会匹配
。所以你还有另一个选择:使用(\\s |,|-)+
我同意。。谢谢你指出我们应该用括号
Sector - false
18B - false
Dwarka - false
String address = "Sector -18B, Dwarka";
String[] addressParts = address.split("[\\s,-]+");
for (String part : addressParts){
System.out.println(part + " - " + part.isEmpty());
}