java split regex-字符的任意组合 - java

我正在使用3个字符分割字符串:空格,破折号和逗号

我想要的是能够使用这3个字符的任意组合进行拆分,例如:

-,(破折号后跟逗号)或,--(逗号后加2破折号)或- , -(破折号,逗号间隔破折号)等

    String address = "Sector -18B, Dwarka";
    String[] addressParts = address.split("[\\s+,-]");
    for (String part : addressParts) 
       System.out.println(part + " - " + part.isEmpty());

这给了我5个长度的数组:[“ Sector”,“”,“ 18B”,“”,“ Dwarka”]

我想要一个3个长度的数组:[“ Sector”,“ 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

使用正则表达式获取网址的最后一部分 - java

如何使用正则表达式获取URL的最后部分,这是我的URL,我希望最后一个斜杠和#之间有一段句号http://mycompany.com/test/id/1234#this 所以我只想获取1234。我有以下内容,但并未删除“ #this”".*/(.*)(#|$)", 在为数据建立索引时,我需要这样做,所以不想使用URL类。 参考方案 怎么样…

Java正则表达式 - java

我想替换这些字符中的任何一个:% \ , [ ] # & @ ! ^ ...带有空字符串(“”)。我使用以下代码:String line = "[ybi-173]"; Pattern cleanPattern = Pattern.compile("%|\\|,|[|]|#|&|@|!|^"); Matc…

如何在Java中摆脱逗号分隔的字符串中的重复项? - java

我有一个字符串place =“ city,city,town”。我需要得到“城市,城镇”。基本上消除以逗号分隔的字符串中的重复条目。place.split(“,”);会给我String数组。我想知道是否可以将此数组传递给HashSet之类的东西,它会自动删除重复项,但是尝试执行以下操作:HashSet test=new HashSet(a.split(�…

java:继承 - java

有哪些替代继承的方法? java大神给出的解决方案 有效的Java:偏重于继承而不是继承。 (这实际上也来自“四人帮”)。他提出的理由是,如果扩展类未明确设计为继承,则继承会引起很多不正常的副作用。例如,对super.someMethod()的任何调用都可以引导您通过未知代码的意外路径。取而代之的是,持有对本来应该扩展的类的引用,然后委托给它。这是与Eric…

Java:BigInteger,如何通过OutputStream编写它 - java

我想将BigInteger写入文件。做这个的最好方式是什么。当然,我想从输入流中读取(使用程序,而不是人工)。我必须使用ObjectOutputStream还是有更好的方法?目的是使用尽可能少的字节。谢谢马丁 参考方案 Java序列化(ObjectOutputStream / ObjectInputStream)是将对象序列化为八位字节序列的一种通用方法。但…