【问题标题】:String.split() by one of two patternsString.split() 按两种模式之一
【发布时间】:2012-11-19 20:29:29
【问题描述】:

我想将这个字符串:315-045/10-20 拆分为这个数组:["315","045","10","20"],这意味着它应该围绕每次出现的 '/ 进行拆分' 要么 '-'。 是否可以通过一次调用 split() 函数来做到这一点?

【问题讨论】:

标签: java regex parsing split


【解决方案1】:

您可以使用同时接受斜杠和破折号的正则表达式。

String input = "315-045/10-20";
String[] output = input.split("[/-]");

【讨论】:

    【解决方案2】:

    您也可以使用非数字split 模式:

    "315-045/10-20".split("\\D");
    

    【讨论】:

    • 这适用于我的情况,但如果我在字符串中有更多非数字元素,它就不会了。仍然是一个很好的答案,所以 +1。
    【解决方案3】:

    你可以用这个...

    split("[-/]")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-01
      • 2011-09-28
      • 1970-01-01
      • 2014-04-12
      • 1970-01-01
      • 2013-12-13
      • 1970-01-01
      相关资源
      最近更新 更多