有两个字符串
String a=",aaa,bbb,,,,,,,";
String b="d:/sc/zz,d:/cx/vv,,,d:/saa/cc,,,,,";
使用split进行截取后
String[] a1=a.split(",");
String[] b1=b.split(",");结果奇怪的问题出来了,用System.out.println();输出 a1.length为 4 b1.length为9
debug了一下发现在截取a之后赋值给a1数组的值为[,aaa,bbb]后面的","全被过滤掉了
我想问的是 那么为什么b1得出的长度是正确的呢?很困惑 如何又能取到a的每一位数?包括后面的","之前的空位 求高人解答~
String a=",aaa,bbb,,,,,,,";
String b="d:/sc/zz,d:/cx/vv,,,d:/saa/cc,,,,,";
使用split进行截取后
String[] a1=a.split(",");
String[] b1=b.split(",");结果奇怪的问题出来了,用System.out.println();输出 a1.length为 4 b1.length为9
debug了一下发现在截取a之后赋值给a1数组的值为[,aaa,bbb]后面的","全被过滤掉了
我想问的是 那么为什么b1得出的长度是正确的呢?很困惑 如何又能取到a的每一位数?包括后面的","之前的空位 求高人解答~
解决方案 »
- java绘图的一个小问题
- String +和concat和区别?
- 请大家帮帮我!Exception in thread "main" java.lang.NoClassDefFoundError :TFMath
- java应用程序的问题
- 关于正则表达式
- 有关进度条中线程的问题!!谢谢各位指点~~~~
- 大家看这个程序,请问,子类overWrite 父类的方法,形参一定要一样吗?构造函数和普通函数的覆盖有没有区别?
- java中如何在编译时一次处理多个.java文件?(30分相送)
- 刚开始学习JAVA的人:一个最简单的JAVA程序出错,请帮忙!
- 如何用按钮控制jtable中的数据选择?
- Java,POI或JXL操作Excel表格的问题。请高手帮忙!谢谢了。
- 循环中处理异常的问题
String a=",aaa,bbb,,,,,,,";
String b="d:/sc/zz,d:/cx/vv,,,d:/saa/cc,,,,,";
System.out.println(a.split(",").length);
System.out.println(b.split(",").length);输出结果3,5。表明最后的空白都舍去了。没出现你说的情况
代码如下:
public static void main(String[] args) {
String a=",aaa,bbb,,,,,,,";
String b="d:/sc/zz,d:/cx/vv,,,d:/saa/cc,,,,,";
String[] a1 = a.split(",", -1);
String[] b1 = b.split(",",-1);
for(int i = 0;i< a1.length; i ++){
System.out.println(i+":"+a1[i]);
}
for(int j = 0;j< b1.length; j ++){
System.out.println(j+":"+b1[j]);
}
System.out.println("a1的长度是:"+a1.length);
System.out.println("b1的长度是:"+b1.length); }
0:
1:aaa
2:bbb
3:
4:
5:
6:
7:
8:
9:
0:d:/sc/zz
1:d:/cx/vv
2:
3:
4:d:/saa/cc
5:
6:
7:
8:
9:
a1的长度是:10
b1的长度是:10