关于String类的split()方法

 1 public class TestSplit {
 2     public static void main(String[] args) {
 3         System.out.println("==========limit为0==============");
 4         String a = "1,2,3,4,5,";
 5         String[] split1 = a.split(",", 0);
 6         for (String s : split1) {
 7             System.out.println(s);
 8         }
 9         System.out.println("5后面的空白字符丢失");
10         System.out.println("===========limit为3=============");
11         String[] split2 = a.split(",", 3);
12         for (String s : split2) {
13             System.out.println(s);
14         }
15         System.out.println("切割了3-1=2次");
16         System.out.println("=========limit为-1===============");
17         String[] split3 = a.split(",", -1);
18         for (String s : split3) {
19             System.out.println(s);
20         }
21         System.out.println("5后面的空字符保留");
22         System.out.println("============没有limit============");
23         String[] split = a.split(",");
24         for (String s : split) {
25             System.out.println(s);
26         }
27         System.out.println("5后面的空字符丢失");
28     }
29 }

结果为:

==========limit为0==============
1
2
3
4
5
5后面的空白字符丢失
===========limit为3=============
1
2
3,4,5,
切割了3-1=2次
=========limit为-1===============
1
2
3
4
5

5后面的空字符保留
============没有limit============
1
2
3
4
5
5后面的空字符丢失

一、当limit>0时,limit代表最后的数组长度,同时一共会切割limit-1次,最后没有切割完成的直接放在一起

二、当limit=0时,会尽量多去匹配,并且会把末尾的空(例如:用逗号分隔后面“zhaolei,” 最后就会出现空)去掉

三、当limit<0时,会尽量多去匹配,但不会去掉末尾的空!

 

posted @ 2022-03-29 15:45  巴啦啦小花总  阅读(110)  评论(0)    收藏  举报