首頁  >  文章  >  Java  >  Java中String.split()怎麼使用

Java中String.split()怎麼使用

WBOY
WBOY轉載
2023-04-18 13:19:031785瀏覽

一、split(regex,limit)

首先是帶有兩個參數的split方法:

Java中String.split()怎麼使用

##作用:

將以給定正規表示式(regex)的字串分隔開來

  • 第一個參數是傳入字元類型的

    分隔符,如“,” 等(可以是任何字串)

  • 第二個參數傳入整數的limit,代表的是將此字串

    #分割成n部分(這裡的n就是limit).

#回傳值:

此方法傳回的

陣列包含此字串的每個子字串,這些子字串以符合到的正規表示式(就是以輸入的第一個參數regex)作為結束,或由字串的結尾作為結束。

注意事項:

  1. 陣列中的子字串依照它們在這個字串中出現的順序排列。

  2. 如果輸入的regex不符合字串裡面的任何字符,那麼結果數組只有一個元素,即這個字串。 (就是若字串裡面沒有出現輸入的regex參數)

  3. 如果在字串的開頭有一個正數的符合(就是字串開頭有>0個的regex分隔符),那麼在結果數組的開頭會包含一個空的前導子字串.

  4. public class test {
        public static void main(String[] args) {
            String str = ",,1,2,3,4"; // 注意这里字符串开头就匹配到了逗号
            String[] s = str.split(",",10);// 这里先取10,后文介绍第二个参数
            for (String string : s) {
                System.out.println("子字符串"+string);
            }
            System.out.println(s.length);
        }
    
    }
運行結果:

第一個逗號前面會有出現一個

空的子字串

Java中String.split()怎麼使用

limit參數控制應用模式的次數,因此會影響結果

陣列的長度。 (這裡的意思是limit的取值控制了結果數組的長度)

Java中String.split()怎麼使用

#對以上解讀如下: (1) 如果limit輸入的是一個

正數, 那麼該模式將最多應用limit - 1次(就是說只會用輸入的regex去字串裡面匹配limit-1次),數組的長度將不大於limit,並且數組的最後一個條目將包含最後一個匹配的分隔符號之外的所有輸入(就是說他分隔的模式是從前逐個往後的).給個代碼便於大家理解:

public class test {
    public static void main(String[] args) {
        String str = "1,2,3,4";
        String[] s = str.split(",",2);//这里输入limit为2,即分成2部分
        for (String string : s) {
            System.out.println("子字符串"+string);
        }
        System.out.println(s.length);
    }

}

運行結果:

字符串被分隔成2個子字串,分隔模式是從前往後的

Java中String.split()怎麼使用

(2) 如果輸入的limit為

,則模式將被應用盡可能多的次數,結果數組可以有任何長度,而尾部的空字串將被丟棄. (就是匹配字串裡面所有的regex分隔符),關於空字串被丟棄,程式碼如下:

public class test {
    public static void main(String[] args) {
        String str = "1,2,3,4,,,";// 这里后面逗号之间的空字符串将被丢弃
        String[] s = str.split(",",0);
        for (String string : s) {
            System.out.println("子字符串"+string);
        }
        System.out.println(s.length);
    }

}

運行結果:

尾的空字串將不會出現在結果陣列裡

Java中String.split()怎麼使用

(3 ) 如果輸入limit的值為

負數,則模式將被套用盡可能多的次數,陣列可以有任何長度。 (尾部的空字串也不會被遺失噢)

public class test {
    public static void main(String[] args) {
        String str = ",1,2,3,4,";
        String[] s = str.split(",",-1);//limit值为负数
        for (String string : s) {
            System.out.println("子字符串"+string);
        }
        System.out.println(s.length);
    }

}

運行結果:

字串的尾部空字串不會被遺失

Java中String.split()怎麼使用

二、split(regex)

接下來只帶有一個參數的split方法就容易了,就是

預設limit的值為0.

Java中String.split()怎麼使用

該方法的工作原理就是用給定regex參數和一個limit參數預設為0來呼叫兩個參數的split方法。因此,結果數組中不包含尾隨的空字串。

Java中String.split()怎麼使用

以上是Java中String.split()怎麼使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除