在java中,split()方法可以根據(jù)匹配給定的正則表達式來拆分字符串,然后返回一個字符串數(shù)組,語法“stringObject.split(正則表達式分隔符, 分割的份數(shù))”;如果有多個分隔符,可以用“|”作為連字符。
本教程操作環(huán)境:windows7系統(tǒng)、java8版、DELL G3電腦。
定義和用法
split() 方法用于把一個字符串分割成字符串數(shù)組。
語法
stringObject.split(separator,howmany)
參數(shù) | 描述 |
---|---|
separator | 必需。字符串或正則表達式,從該參數(shù)指定的地方分割 stringObject。 |
howmany | 可選。該參數(shù)可指定返回的數(shù)組的最大長度。如果設(shè)置了該參數(shù),返回的子串不會多于這個參數(shù)指定的數(shù)組。如果沒有設(shè)置該參數(shù),整個字符串都會被分割,不考慮它的長度。 |
返回值
一個字符串數(shù)組。該數(shù)組是通過在 separator 指定的邊界處將字符串 stringObject 分割成子串創(chuàng)建的。返回的數(shù)組中的字串不包括 separator 自身。
但是,如果 separator 是包含子表達式的正則表達式,那么返回的數(shù)組中包括與這些子表達式匹配的字串(但不包括與整個正則表達式匹配的文本)。
提示和注釋
注釋:如果把空字符串 ("") 用作 separator,那么 stringObject 中的每個字符之間都會被分割。
注釋:String.split() 執(zhí)行的操作與 Array.join 執(zhí)行的操作是相反的。
特殊情況有 * ^ : | .
1、單個符號作為分隔符
- String address="上海上海市|閔行區(qū)吳中路";
String[] splitAddress=address.split("\"); System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);
- String address="上海|上海市|閔行區(qū)|吳中路";
String[] splitAddress=address.split("\|"); //如果以豎線為分隔符,則split的時候需要加上兩個斜杠【\】進行轉(zhuǎn)義 System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);
- String address="上海*上海市*閔行區(qū)*吳中路";
String[] splitAddress=address.split("\*"); System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);
- String address="上海:上海市:閔行區(qū):吳中路";
String[] splitAddress=address.split("\:"); System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);
- String address="上海.上海市.閔行區(qū).吳中路";
String[] splitAddress=address.split("\."); System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);
- String address="上海^上海市^閔行區(qū)^吳中路";
String[] splitAddress=address.split("\^"); System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);
- String address="上海@上海市@閔行區(qū)@吳中路";
String[] splitAddress=address.split("@"); System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);
- String address="上海,上海市,閔行區(qū),吳中路";
String[] splitAddress=address.split(","); System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);
2、多個符號作為分隔符
String address="上海^上海市@閔行區(qū)#吳中路";
String[] splitAddress=address.split("\^|@|#"); System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);
例:
String address = new String("192.168.13.240"); String[] str = address.split("\."); for(String s : str){ System.out.println(s); }
輸出格式:
192 168 13 240
總結(jié):
(1)split表達式,其實就是一個正則表達式。* ^ | 等符號在正則表達式中屬于一種有特殊含義的字符,如果使用此種字符作為分隔符,必須使用轉(zhuǎn)義符即\加以轉(zhuǎn)義。
(2)如果使用多個分隔符則需要借助 | 符號,如二所示,但需要轉(zhuǎn)義符的仍然要加上分隔符進行處理
相關(guān)視頻教程推薦:Java視頻教程