我有一个由制表符和空格以及一些任意字符组成的字符串。下面的字符串由 组成space space tab tab 1 space tab -2 tab space + space。
import java.util.Arrays;
String[] s = "          1   -2   + ".split("[\\s]+");
System.out.println(Arrays.toString(s));
使用正则表达式运行 split[\s+]期望得到[1, -2, +],但是我在我的机器(OS X,JDK1.6.0_37)上得到的返回数组是[, 1, -2, +].
事实证明,第一个元素只是“空白”(s[0].equals("")returns true),所以它应该被匹配\s。
我错过了什么?