关于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时,会尽量多去匹配,但不会去掉末尾的空!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!