JAVA的分割方法split的分割规则是怎么的??原理?
Stringtes="boo:and:foo";System.out.println("把tes按:分割为5组即一个数组为5个元素");String[]d=tes.spl...
String tes="boo:and:foo";
System.out.println("把tes按:分割为5组即一个数组为5个元素");
String[] d=tes.split("o",5);
for(String element: d)
System.out.println(element);
结果:是"b", " ", ":and:f", " " ," "
为什么这么分割呢? 展开
System.out.println("把tes按:分割为5组即一个数组为5个元素");
String[] d=tes.split("o",5);
for(String element: d)
System.out.println(element);
结果:是"b", " ", ":and:f", " " ," "
为什么这么分割呢? 展开
展开全部
你的o时分隔符,第一个o和第二个o中间为空,所以结果会出现第一个空"b",[""]就这个,这个空表示也就是前两个o中间时个空
这样想:"a,b,,,,,,,c,d",这个中间这么多逗号,如果以逗号分割,中间就会出先多个空
后面的也是一样的。 结果中倒数第二个空时后面两个o中间的空,
最后第一个空,时最后一个o后面的空
你可以试试在最后一个o后面加一个字符,这样结果中的最后一个空就变成了这个字符 。
另外如果你限制数组长度为4,String[] d=tes.split("o",4);,
输出的结果就会是这样:'b','',':and:f','o',最后一个o就不会被认为是分隔符了。
这样想:"a,b,,,,,,,c,d",这个中间这么多逗号,如果以逗号分割,中间就会出先多个空
后面的也是一样的。 结果中倒数第二个空时后面两个o中间的空,
最后第一个空,时最后一个o后面的空
你可以试试在最后一个o后面加一个字符,这样结果中的最后一个空就变成了这个字符 。
另外如果你限制数组长度为4,String[] d=tes.split("o",4);,
输出的结果就会是这样:'b','',':and:f','o',最后一个o就不会被认为是分隔符了。
展开全部
因为你是按照o分割的 不是: 你按照o当然是那个结果
public static void main(String[] args) {
String aa= "aa:bb:cc:dd";
String [] aaa=aa.split(":");
String [] bbb=aa.split(":",2);
String line="";
for(int i=0;i<aaa.length;i++){
line=line+aaa[i]+"\t";
}
System.out.println(line);
line="";
for(int i=0;i<bbb.length;i++){
line=line+bbb[i]+"\t";
}
System.out.println(line);
}
按这个运行下 你就应该懂了
结果如下
aa bb cc dd
aa bb:cc:dd
public static void main(String[] args) {
String aa= "aa:bb:cc:dd";
String [] aaa=aa.split(":");
String [] bbb=aa.split(":",2);
String line="";
for(int i=0;i<aaa.length;i++){
line=line+aaa[i]+"\t";
}
System.out.println(line);
line="";
for(int i=0;i<bbb.length;i++){
line=line+bbb[i]+"\t";
}
System.out.println(line);
}
按这个运行下 你就应该懂了
结果如下
aa bb cc dd
aa bb:cc:dd
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
自己写错了啊哥们,要细心,
程序员要细心啊!
程序员要细心啊!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询