string的split()方法用于按傳入的字符或字符串對string進(jìn)行拆分,返回拆分之后的數(shù)組。
用一般的字符,例如@或,等符號做分隔符時:
String address="上海@上海市@閔行區(qū)@吳中路"; String[] splitAddr=address.split("@"); System.out.println(splitAddr [0]+splitAddr [1]+splitAddr [2]+splitAddr [3]);
當(dāng)使用* ^ : | . 等6個符號做分隔符時,上述6個符號轉(zhuǎn)義字符,必須得加"\",即split(“\^”)等。第二個“”是用來給這6種符號轉(zhuǎn)義,第一個“”是用來給第二個“”轉(zhuǎn)義。
String address="上海*上海市*閔行區(qū)*吳中路"; String[] splitAddr=address.split("\*"); System.out.println(splitAddr[0]+splitAddr[1]+splitAddr[2]+splitAddr[3]);
其中有個更特殊的,就是“”。如果字符串中想要使用"",就應(yīng)該使用"\"進(jìn)行轉(zhuǎn)義。也就是說,對于"a",應(yīng)該寫成"a\b",而如果想要用split方法針對""進(jìn)行拆分,應(yīng)該使用"a\b".split("\\")。
可以用“|”字符作為連字符,把多個分隔符分隔的內(nèi)容都區(qū)分開:
立即學(xué)習(xí)“Java免費(fèi)學(xué)習(xí)筆記(深入)”;
String address="上海^上海市@閔行區(qū)#吳中路"; String[] splitAddr=address.split("\^|@|#"); System.out.println(splitAddr[0]+splitAddr[1]+splitAddr[2]+splitAddr[3]);
如果split(String s)函數(shù)產(chǎn)生了空值,那么不會存到數(shù)組中??梢酝ㄟ^使用它的重載函數(shù)split(";",-1)實(shí)現(xiàn)空值的保存。這里的“;”只是作為分隔符的一個例子。
注意“/”和“-”,"&"不是轉(zhuǎn)義字符。
String str="aaaa/aaaa/aaaa"; String[] strings=str.split("/"); for (int i = 0; i < strings.length; i++) { System.out.println(strings[i]); }
String str="aaaa-aaaa-aaaa"; String[] strings=str.split("-"); for (int i = 0; i < strings.length; i++) { System.out.println(strings[i]); }
String str="aaaa&aaaa&aaaa"; String[] strings=str.split("&"); for (int i = 0; i < strings.length; i++) { System.out.println(strings[i]); }
|
$
*
+
.
?
^
?
(
)
[
]
{
}
String str="aaaa|aaaa|aaaa"; String[] strings=str.split("\|"); for (int i = 0; i < strings.length; i++) { System.out.println(strings[i]); }
String str="aaaa\aaaa\aaaa"; String[] strings=str.split("\\"); for (int i = 0; i < strings.length; i++) { System.out.println(strings[i]); }
String str="aaaa$aaaa$aaaa"; String[] strings=str.split("\$"); for (int i = 0; i < strings.length; i++) { System.out.println(strings[i]); }
String str="aaaa*aaaa*aaaa"; String[] strings=str.split("\*"); for (int i = 0; i < strings.length; i++) { System.out.println(strings[i]); }
String str="aaaa+aaaa+aaaa"; String[] strings=str.split("\+"); for (int i = 0; i < strings.length; i++) { System.out.println(strings[i]); }
String str="aaaa.aaaa.aaaa"; String[] strings=str.split("\."); for (int i = 0; i < strings.length; i++) { System.out.println(strings[i]); }
String str="aaaa?aaaa?aaaa"; String[] strings=str.split("\?"); for (int i = 0; i < strings.length; i++) { System.out.println(strings[i]); }
String str="aaaa^aaaa^aaaa"; String[] strings=str.split("\^"); for (int i = 0; i < strings.length; i++) { System.out.println(strings[i]); }
String str="aaaa(aaaa(aaaa"; String[] strings=str.split("\("); for (int i = 0; i < strings.length; i++) { System.out.println(strings[i]); }
所有的括號都是轉(zhuǎn)義字符。?
以上就是Java?String中的split方法如何使用的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!
java怎么學(xué)習(xí)?java怎么入門?java在哪學(xué)?java怎么學(xué)才快?不用擔(dān)心,這里為大家提供了java速學(xué)教程(入門到精通),有需要的小伙伴保存下載就能學(xué)習(xí)啦!
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號