我有一个由制表符和空格以及一些任意字符组成的字符串。下面的字符串由 组成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
。
我错过了什么?