String test = "a vf";
String[] tokens = test.split("\\s");
System.out.println(tokens.length);输出怎么会是4呢?应该是2吧。
String[] tokens = test.split("\\s");
System.out.println(tokens.length);输出怎么会是4呢?应该是2吧。
解决方案 »
- 怎么这个小程序不能实现?请教
- 新人问题:实际项目中,class是不是基本一律声明为public?
- 初学JAVA,Java applet和JSP有点混淆
- ***********Delphi调用Java的WebService时的问题.急........
- 在线等!! 用Java程序读取条码的问题。
- 新人学习,大家帮我下
- 下载文件的问题
- 有没有办法判断一个String当前的编码格式???
- 有谁愿意和我合伙购买正版《张孝祥java视频教程》高级篇??
- JDBC连接MYSQL,SELECT name FROM uuser 说找不到 column 'name'
- java面试题
- java swing 如何才能删除或者隐藏jcombobox的箭头?
String test = "a vf";
String[] tokens = test.split("\\s+");
System.out.println(tokens.length);这样就对了吧!
是不是4个呢?
空白表达式包括[ \t\n\x0B\f\r]要是你只想空格,还是老老实实的" "这样吧
a
后边是UUvf
这里的第一个U是字符串,
那么第二个U再次成为分隔符。
vf那么共是 a U vf
length = 3;
混乱……
"aUUUvf"="a"+"U"+""+"U"+""+"U"+"vf"
U作为分隔符,把所有的U去掉,剩下的就是"a"、""、""、"vf"这四个
因为JVM把每个空格都当作分割符,空格之间当作一个空字符串,3个空格中间就有2个空字符"";加上"a"和"vf"就是四个了;可以用a,,,vf试下,也是四个,跟用空格分隔字符串无关,这是String 中spit();的分割原理造成的;
按不定量空格拆要写成这样!(“+”前面有个空格)
String[] strs = str.split(" +");
String a = "aUUUUU"; 那么只有一个
String a = "UUUUUU"; 只有零个。
String a = "aUUUUb"; 却有5个。
为什么???
split("U", -1)看看结果把