【问题标题】:Split a string only two times仅将字符串拆分两次
【发布时间】:2015-09-02 09:19:23
【问题描述】:

我有一个类似abc~def~ghij~klm~nop~qrstu~vwx~hj 的字符串。我只想将其拆分两次(结果为三个部分):这意味着无论我得到~ 符号,我都需要将abcdef 和第三个拆分为单个字符串ghij~klm~nop~qrstu~vwx~hj

我知道如何在~ 符号出现的地方分割成字符串

String[] parts = stat.split("~");
String part1 = parts[0];
String part2 = parts[1];
String part3 = parts[2];

这里我只得到第 3 部分为ghij,我需要用~ 符号保留整个字符串。

【问题讨论】:

    标签: java regex string split


    【解决方案1】:

    这只会将stat 字符串拆分两次,即将其拆分为 3 部分:

    String[] parts = stat.split("~", 3);
    

    String.split(String regex, int limit) 方法允许控制生成部分的数量。

    引用 Javadoc:

    limit 参数控制应用模式的次数,因此会影响结果数组的长度。如果限制 n 大于零,则该模式将最多应用 n - 1 次,数组的长度将不大于 n,并且数组的最后一个条目将包含最后一个匹配分隔符之外的所有输入。

    【讨论】:

    • 我认为这是最好的方法..让我检查一下
    • 但是我将如何获得第三部分...我将第二部分作为第三个字符串获得
    • @Jocheved 真的吗?这些方法(也是 Gala 和 Ravi 的)应该是可行的。 sample
    【解决方案2】:

    您可以使用String.split(String regex, int limit)

    String[] parts = stat.split("~", 3);
    

    【讨论】:

      【解决方案3】:

      对 split() 使用限制。

      String s="abc~def~ghij~klm~nop~qrstu~vwx~hj";
      String[] parts = s.split("~",3);
      System.out.println(parts[0]);
      System.out.println(parts[1]);
      System.out.println(parts[2]);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-15
        • 1970-01-01
        • 1970-01-01
        • 2016-04-14
        • 2022-01-25
        相关资源
        最近更新 更多