Java中String的split切割字符串方法详解

Java中String的split切割字符串方法详解,第1张

目录
  • 一、public String[] split(String regex)
  • 二、public String[] split(String regex, int limit)
  • 三、扩展
    •         问题1:当切割到正则表达式符号的时候会切割失败
      •         解决方法:使用转义字符 '\' 就可以解决
    •         问题2:当切割多个字符的时候会切割失败
      •         解决方法:当需要多个字符切割的时候要用到 | 这个分开
  • 总结
  • 作者:KJ.JK


一、public String[] split(String regex)

             public String[] split(String regex):
                      根据传入的字符串参数,作为规则,切割当前字符串

                         String a="198,168,10,1";
                         String [] arr=a.split(",");

                         for (int i = 0; i < arr.length; i++) {
                              System.out.println(arr[i]);
                              }


二、public String[] split(String regex, int limit)

             public String[] split(String regex, int limit):
                      根据传入的字符串参数和限制长度,作为规则,切割当前字符串(就是把字符串分成几段)

                       String b="2022-04-19";
                       String[] b1=b.split("-",2);   //分成两段
                       for (int i = 0; i < b1.length; i++) {
                         System.out.println(b1[i]);
                            }


三、扩展         问题1:当切割到正则表达式符号的时候会切割失败
        String a1="198.198.156";
        String [] arr1=a1.split(".");

        //当用正则表达式.切割的时候会出现什么都没有的情况,这是因为参数是正则表达式,而.在正则表达式中表任意字符,所以切割的时候会都切了
        for (int i = 0; i < arr1.length; i++) {
            System.out.println(arr1[i]);
        }


        解决方法:使用转义字符 ‘\’ 就可以解决
                String a1="198.198.156";
                String [] arr2=a1.split("\.");
                for (int i = 0; i < arr2.length; i++) {
                  System.out.println(arr2[i]);
               }


        问题2:当切割多个字符的时候会切割失败
               String   s="198.19@19";
               String [] sarr=s.split("\.@");
                for (int i = 0; i < sarr.length; i++) {
                System.out.println(sarr[i]);     //198.19@19
               }


        解决方法:当需要多个字符切割的时候要用到 | 这个分开
                    String   s2="198.19@19";
                    String [] s2arr=s2.split("\.|@");
                    for (int i = 0; i < s2arr.length; i++) {
                         System.out.println(s2arr[i]);
                            }


总结
           1.split返回是一个字符串数组接收

           2.为了防止切割的时候会因为正则表达式出现空白的情况,
             以后所有切割都用\\为开头就行
             
           3. 多个符号切割时记得用|分开

作者:KJ.JK

本文仅用于交流学习,未经作者允许,禁止转载,更勿做其他用途,违者必究。
文章对你有所帮助的话,欢迎给个赞或者 star,你的支持是对作者最大的鼓励,不足之处可以在评论区多多指正,交流学习

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/719798.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-25
下一篇 2022-04-25

发表评论

登录后才能评论

评论列表(0条)

保存