split() 方法是使用 RegEx (正则表达式)来分割字符串,所以不能直接使用 RegEx 中的元符号来分割。
例如:
String str1 = "ab|cd";
String[] arr1 = str1.split("|");
System.out.println(Arrays.toString(arr1));
输出结果为:
[, a, b, |, c, d]
把"|"改为":"
String str1 = "ab:cd";
String[] arr1 = str1.split (":");
System.out.println(Arrays.toString(arr1));
输出结果为:
[ab, cd]
并不是split()方法有错,而是因为"|"是 RegEx 中的元符号。把第一个方法改为:
String str1 = "ab|cd";
String[] arr1 = str1.split ("\\|");//java 中是需要两个"\"
System.out.println(Arrays.toString(arr1));
输出结果为:
[ab, cd]
看来程序员需要对 RegEx有较好的认识。我也得多学习学习。