错误的拆分字符串 (split(" "))

Wrong splitting string (split(" "))

我有一些文字,例如:

String text = "I have some a good text".
String[] s = text.split(" ");

我得到了这样的结果:

s[0] - I have,
s[1] - some,
s[2] - a good,
s[3] - text

为什么拆分器在 space (" ") 2 或 1 个符号("I have" 和 "a good")之间不拆分文本,如何解决这个问题?

在java中,split方法以正则表达式作为参数。因此,我建议按任何白色拆分 space:

text.split("\s");

这样,即使您在文本中使用不同的不可打印的白色space,它也会被拆分。

参见 http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html