用空格瓜分字符串,为什么不对?
用空格分割字符串,为什么不对??String test avfString[] tokens test.split(\\s)System.out.pri
用空格分割字符串,为什么不对??
String test = "a vf";
String[] tokens = test.split("\\s");
System.out.println(tokens.length);
输出怎么会是4呢?应该是2吧。
[解决办法]a vf这中间不止一个空格啊
[解决办法]
String test = "a vf";
String[] tokens = test.split("\\s+");
System.out.println(tokens.length);
这样就对了吧!
[解决办法]恩
[解决办法]中间三个空格,那么就是4了……
"a" "" "" "vf"
是不是4个呢?
[解决办法]你那个是空格字符的表达式
空白表达式包括[ \t\n\x0B\f\r]
要是你只想空格,还是老老实实的" "这样吧
[解决办法]你可以把所有分割后的字符串数组打印出来不就知道了。
[解决办法]+1
[解决办法]路过。。。。。。
[解决办法]混乱……
"aUUUvf"="a"+"U"+""+"U"+""+"U"+"vf"
U作为分隔符,把所有的U去掉,剩下的就是"a"、""、""、"vf"这四个
[解决办法]嗯,确实是4个
[解决办法]因为JVM把每个空格都当作分割符,空格之间当作一个空字符串,3个空格中间就有2个空字符"";加上"a"和"vf"就是四个了;可以用a,,,vf试下,也是四个,跟用空格分隔字符串无关,这是String 中spit();的分割原理造成的;
[解决办法]\s 不是空格,表示的是空白字符,比如:空格、TAB、换行符、回车符等。
按不定量空格拆要写成这样!(“+”前面有个空格)
String[] strs = str.split(" +");[解决办法]因为split("U")实际调用split("U", 0),尾部所有空字符串都被去掉了
split("U", -1)看看结果把
[解决办法]这些文档上都有的啊…………
[解决办法]对 用+号匹配多个
[解决办法]真奇怪的用法