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", " " ," "
为什么这么分割呢?
展开
 我来答
newlethe
2011-08-05 · TA获得超过3972个赞
知道小有建树答主
回答量:991
采纳率:0%
帮助的人:901万
展开全部
你的o时分隔符,第一个o和第二个o中间为空,所以结果会出现第一个空"b",[""]就这个,这个空表示也就是前两个o中间时个空
这样想:"a,b,,,,,,,c,d",这个中间这么多逗号,如果以逗号分割,中间就会出先多个空
后面的也是一样的。 结果中倒数第二个空时后面两个o中间的空,
最后第一个空,时最后一个o后面的空
你可以试试在最后一个o后面加一个字符,这样结果中的最后一个空就变成了这个字符 。

另外如果你限制数组长度为4,String[] d=tes.split("o",4);,
输出的结果就会是这样:'b','',':and:f','o',最后一个o就不会被认为是分隔符了。
rest0000
2011-08-05 · 超过18用户采纳过TA的回答
知道答主
回答量:48
采纳率:0%
帮助的人:37.3万
展开全部
因为你是按照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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
羅朔妮l
2011-08-05 · TA获得超过120个赞
知道答主
回答量:93
采纳率:100%
帮助的人:57万
展开全部
自己写错了啊哥们,要细心,
程序员要细心啊!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式