我知道以前有人问过如何用前导空格分割字符串的问题,例如:

String str = " I want to be  split \t!"
String[] sarr = str.split("\\s+");
for(String s : sarr) System.out.println("'" + s + "'");


产生结果:

'' //leading white space
'I'
'want'
'to'
'be'
'split'
'!'


解决此问题的方法是在拆分之前使用str.trim()。

我想知道的是为什么split()不能跳过开头的空格,但可以在字符串的中间/结尾跳过。

最佳答案

我认为这应该可以回答您的问题。

取自String docs


  围绕给定正则表达式的匹配项拆分此字符串。
  
  该方法的工作方式就像通过调用带有两个参数的split方法
  给定的表达式和限制参数为零。尾随为空
  因此,字符串不包含在结果数组中。

关于java - Java拆分字符串正则表达式:领先的空格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23192323/

10-11 22:26
查看更多