我知道以前有人问过如何用前导空格分割字符串的问题,例如:
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/