在java中,split()方法可以根據(jù)匹配給定的正則表達(dá)式來拆分字符串,然后返回一個(gè)字符串?dāng)?shù)組,語法“stringObject.split(正則表達(dá)式分隔符, 分割的份數(shù))”;如果有多個(gè)分隔符,可以用“|”作為連字符。
本教程操作環(huán)境:windows7系統(tǒng)、java8版、DELL G3電腦。
定義和用法
split() 方法用于把一個(gè)字符串分割成字符串?dāng)?shù)組。
語法
stringObject.split(separator,howmany)
參數(shù) | 描述 |
---|---|
separator | 必需。字符串或正則表達(dá)式,從該參數(shù)指定的地方分割 stringObject。 |
howmany | 可選。該參數(shù)可指定返回的數(shù)組的最大長(zhǎng)度。如果設(shè)置了該參數(shù),返回的子串不會(huì)多于這個(gè)參數(shù)指定的數(shù)組。如果沒有設(shè)置該參數(shù),整個(gè)字符串都會(huì)被分割,不考慮它的長(zhǎng)度。 |
返回值
一個(gè)字符串?dāng)?shù)組。該數(shù)組是通過在 separator 指定的邊界處將字符串 stringObject 分割成子串創(chuàng)建的。返回的數(shù)組中的字串不包括 separator 自身。
但是,如果 separator 是包含子表達(dá)式的正則表達(dá)式,那么返回的數(shù)組中包括與這些子表達(dá)式匹配的字串(但不包括與整個(gè)正則表達(dá)式匹配的文本)。
提示和注釋
注釋:如果把空字符串 ("") 用作 separator,那么 stringObject 中的每個(gè)字符之間都會(huì)被分割。
注釋:String.split() 執(zhí)行的操作與 Array.join 執(zhí)行的操作是相反的。
特殊情況有 * ^ : | .
1、單個(gè)符號(hào)作為分隔符
- 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的時(shí)候需要加上兩個(gè)斜杠【\】進(jìn)行轉(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、多個(gè)符號(hào)作為分隔符
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表達(dá)式,其實(shí)就是一個(gè)正則表達(dá)式。* ^ | 等符號(hào)在正則表達(dá)式中屬于一種有特殊含義的字符,如果使用此種字符作為分隔符,必須使用轉(zhuǎn)義符即\加以轉(zhuǎn)義。
(2)如果使用多個(gè)分隔符則需要借助 | 符號(hào),如二所示,但需要轉(zhuǎn)義符的仍然要加上分隔符進(jìn)行處理
相關(guān)視頻教程推薦:Java視頻教程