天天看點

java——split的用法(字元串拆分)

字元串拆分

public static void main(String[] args) {
        String str = "I Live In The Home";
        String[] ret = str.split(" ");
        for (String x : ret){
            System.out.println(x);
        }
        System.out.println("原來的字元串為:" + str);
        //System.out.println(Arrays.toString(ret));
    }
           

輸出結果為:

java——split的用法(字元串拆分)

從這裡可以看到,本代碼是用空格拆分字元串,但是最開始的字元串不會因為字元串的分割而改變(String定義的字元串不會被修改)

注意:

這裡要引出一個概念:正規表達式

就比如下面的例子:

public static void main(String[] args) {
        String str = "192.43.67";
        //想按照“.”來切分
        String[] result = str.split(".");
        for (String x : result){
            System.out.println(x);
        }
    }
           

以上代碼沒有執行結果,也就是說split方法在str裡面沒有找到"."這個字元,我們知道,“.”在正規表達式中是一個特殊字元

,需要進行轉義才能識别出來。如下:

String str = "192.43.67";
        //想按照“.”來切分
       //.在正規表達式中是一種特殊符号,為了讓split識别出源字元串中的“.”,就需要進行轉意義“\\.”
        String[] result1 = str.split("\\.");
        for (String x : result){
            System.out.println(x);
        }
           

“\.” 裡面有兩個反斜杠,代表的兩個轉義,

一個是在java中進行轉義,一個是在正則中表示轉義

與之用法相同的符号有:“| + * ”

實際應用

public static void main(String[] args) {
        //split的實際應用
        String string = "name=zhangsan&age=14&sex=male";
        //1.先按照&進行拆分
        String[] result = string.split("&");
        for (String tmp : result){
            //現在已經按照&拆分好了,開始進行=的拆分
            String[] ret = tmp.split("=");
            if (ret.length != 2){
                continue;
            }
            System.out.println(ret[0] + ": " + ret[1]);
        }
    }