【问题标题】:Split method returning blank array in Java拆分方法在Java中返回空白数组
【发布时间】:2015-02-28 06:53:13
【问题描述】:

我遇到了 split 函数返回空白数组的问题。当从数组中调用任何索引时,它会引发索引越界异常。代码如下:

class splitNumber {
    public static void main(String[] args) {
        String number = "3.84";
        String[] sep = number.split(".");
        System.out.println(sep[0]);
    }
}

对此有任何修复或解决方法吗?我正在使用 Java SE 7。

【问题讨论】:

    标签: java arrays exception


    【解决方案1】:

    如其他地方所述,String#split 采用正则表达式。构造该正则表达式的另一种方法是使用Pattern#quote

    String number = "3.84";
    String[] sep = number.split(Pattern.quote("."));
    System.out.println(Arrays.toString(sep));
    

    这使您免于输入一堆繁琐的转义字符。

    【讨论】:

      【解决方案2】:

      “。”是正则表达式中的一个特殊字符,String 的split 方法接受正则表达式,您需要像这样转义:

      String[] sep = number.split("\\.");
      

      【讨论】:

        【解决方案3】:

        使用“\.”

        "请注意,这需要一个正则表达式,因此请记住在必要时转义特殊字符,例如,如果您想在句点上拆分。这意味着正则表达式中的“任何字符”,请使用 split("\.") 或 split (Pattern.quote("."))."

        How to split a string in Java

        【讨论】:

          猜你喜欢
          • 2017-07-26
          • 2021-12-21
          • 2013-09-01
          • 1970-01-01
          • 2018-12-23
          • 1970-01-01
          • 2015-12-07
          • 1970-01-01
          • 2013-03-08
          相关资源
          最近更新 更多