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