关于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时,会尽量多去匹配,但不会去掉末尾的空!

浙公网安备 33010602011771号