Nar*_*des 3 java arrays string split
public class test {
public static void main(String[] args) {
String[] arr = {"0 1.2.3.4","a b.c.d.e"};
System.out.println(arr[0].split(".")[2]);
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用java 8。
预期输出是3。
的参数split是正则表达式,而不是文字“这是您应该扫描的字符串”。正则表达式中的符号.意味着“任何东西”,所以它就像" ".split(" ")- 您传递的字符串都是分隔符,因此,您不会得到任何输出。
.split(Pattern.quote("."))会照顾它的。
编辑:要详细说明 - 考虑到字符串由所有分隔符组成, split 最初为您提供一个填充空字符串的数组;一个用于任何字符“之间”的每个位置(因为每个字符都是分隔符)。但是,默认情况下split会删除末尾的所有空字符串,因此最终会得到一个长度为 0 的字符串数组。
| 归档时间: |
|
| 查看次数: |
81 次 |
| 最近记录: |