黑马程序员技术交流社区
标题:
Split的问题
[打印本页]
作者:
公子-醉香
时间:
2013-12-18 10:14
标题:
Split的问题
String s2="this is a test";
String sarray[]=s2.split("\\S");
System.out.println("sarray.length="+sarray.length);
这个问题的输出结果是8,这是为什么
如果输入
String s2="this" 输出是0
String s2="this " 输出是5
Sstinrg s2="this is"输出还是5
复制代码
作者:
零敢
时间:
2013-12-18 14:21
split(String regex)
根据给定正则表达式的匹配拆分此字符串。\\S 非空白字符:[^\s]
不是以空格或回车的开头和结尾都会被截取到;你试试输出你这个s2.split(\\S)数组就明白了;你也可以数数不是以空格的开头刚好是4*2=8个.
作者:
刘松703
时间:
2013-12-18 14:29
"\\S"是表示的是非空字符,这是要理解的第一点,第二点就是,split()这个函数,他分解字符转,如果后面的字符是空的就会略去,其实最好的办法是写一个循环观察以下,
public static void main(String[] args) {
String s2="this is a test";
String sarray[] = s2.split("\\S");
System.out.println(sarray.length);
for(int i=0;i<sarray.length;i++){
System.out.println(sarray[i]+"---"+i);
}
}
这样你替换字符串,观察结果,一看就知道其性质了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2