Split 方法在 Java 中返回空白数组

Split method returning blank array in Java

我在返回空白数组的拆分函数时遇到问题。当从数组中调用任何索引时,它会抛出索引越界异常。这是代码:

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

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

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

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

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

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

这可以让您免于输入一堆乏味的转义字符。

使用“\.”

"Note that this takes a regular expression, so remember to escape special characters if necessary, e.g. if you want to split on period . which means "正则表达式中的任何字符",使用 split("\.") 或 split(Pattern.quote("."))."

How to split a string in Java