我看了7楼的程序,的确是可以拆分字符串,但是有两个地方不懂。
1.在这一句里:String a[]=s.trim().split("");为什么需要s.trim()。
我查了下,trim是去掉首尾空格的方法,这里为什么要去掉首尾空格。
2.是这一句:char b =s.charAt(0);charAt方法是获取首字母,我不明白为什么要判断是不是第一个来获取首字母。
如果说,使用了split方法后,用循环i=0的时候会莫名其妙的出现a[0]=一个空格。但是如果循环的时候就用i=1开始,便不会在字符串上多一个空格出现。
例如;
public class SplitTest
{
public static void main(String[] args)
{
String str = " 1 2 3 ";
// 在每个空格字符处进行分解。
String[] str2 = str.split("");
System.out.println("\n原字符串的长度为:"+str.length());
for(int
i=0; i<str2.length; i++)
System.out.println("str2["+i+"] = "+str2[i]);
}
}
运行结果是:
原字符串的长度为:7
str2[0] =
str2[1] =
str2[2] = 1
str2[3] =
str2[4] = 2
str2[5] =
str2[6] = 3
str2[7] =
在1前明明只有一个空格,但是会莫名其妙的多一个,但是如果设置了for循环的i从1开始,即:
public class SplitTest
{
public static void main(String[] args)
{
String str = " 1 2 3 ";
// 在每个空格字符处进行分解。
String[] str2 = str.split("");
System.out.println("\n原字符串的长度为:"+str.length());
for(int
i=1; i<str2.length; i++)
System.out.println("str2["+i+"] = "+str2[i]);
}
}
运行结果是:
原字符串的长度为:7
str2[1] =
str2[2] = 1
str2[3] =
str2[4] = 2
str2[5] =
str2[6] = 3
str2[7] =
就正确了
[[it] 本帖最后由 woainvzu 于 2008-10-7 12:26 编辑 [/it]]