Java split()方法中的特殊符號(hào)舉例詳解
一、split是什么?
在Java中,split()方法用于分隔字符串,可以根據(jù)匹配給定的正則表達(dá)式來拆分字符串。split()方法可以將一個(gè)字符串分割為子字符串,然后將結(jié)果作為字符串?dāng)?shù)組返回;語法如下,其中參數(shù)regex指定正則表達(dá)式分隔符,limit指定分割的份數(shù)。分隔符可以是任意字符、符號(hào)、數(shù)字、字符串等。
stringInfo.split([regex,[limit]])
二、特殊字符處理
1.案例
private String data = "6&三-1號(hào)柜^7&三-2號(hào)柜^8&客服中心";
字符串轉(zhuǎn)成 List數(shù)組 數(shù)組中包括 id 跟名字
這里就涉及到了特殊字符分割,如果按照傳統(tǒng)分割 data.split("^"); 輸出結(jié)果還是 字符串本身,所以在涉及到特殊字符分割的時(shí)候要前面要加上轉(zhuǎn)義符
String data = "6&三-1號(hào)柜^7&三-2號(hào)柜^8&客服中心"; List<Pair<String, String>> list = new ArrayList<>(); String[] elements = data.split("\\^"); for (String element : elements) { String[] parts = element.split("&"); String id = parts[0]; String name = parts[1]; list.add(new Pair<>(id, name)); }
還有一種涉及到多符號(hào)分割,這種情況下不到要加上轉(zhuǎn)義符 還要借助分割符處理、
String address="北京^北京市@海淀區(qū)#四道街";
String address = "北京^北京市@海淀區(qū)#四道街"; String[]splitAddress=address.split("\\^|@|#"); System.out.println(splitAddress[0]+splitAddress[1]+splitAddress[2]+splitAddress[3]);
附:Java在split()時(shí),需要轉(zhuǎn)義的幾個(gè)字符:
或'|',點(diǎn)'.',加'+',乘'*',在字符串中出現(xiàn)時(shí),如果這個(gè)字符串需要被拆分,則拆分時(shí)候,需要在前面加兩個(gè)反斜杠。
與&,在分裂時(shí)候,不需要轉(zhuǎn)義。
用多個(gè)不同符號(hào)分割示例代碼:用 '!' , '.' ,空格三個(gè), '@' 來分割字符串
import java.util.Arrays; public class Main { public static void main(String[] args) { // TODO 自動(dòng)生成的方法存根 String str="czh!han.bb test@love"; //用'!','.',空格三個(gè),'@'來分割字符串 String[] a=str.split("\\s+|\\.|\\!|@"); System.out.println(Arrays.toString(a)); } }
輸出如下:
注意上面的bb和test之間是三個(gè)空格,\\s后面用了+,就將這多個(gè)空格看作一個(gè)分隔符了!@不是那幾種需要轉(zhuǎn)義的字符之一,就不用加\\了!
[czh, han, bb, test, love]
總結(jié)
split即正則表達(dá)式。特殊符號(hào)有 | + * ^ $ / | [ ] ( ) - . \ 等,因?yàn)樗鼈兪钦齽t表達(dá)式中的一部分, 所以如果想用該字符本身,必須使用轉(zhuǎn)義符即\\加以轉(zhuǎn)義才能表示它本身
到此這篇關(guān)于Java split()方法中的特殊符號(hào)的文章就介紹到這了,更多相關(guān)Java split()方法特殊符號(hào)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java安全框架——Shiro的使用詳解(附springboot整合Shiro的demo)
這篇文章主要介紹了Java安全框架——Shiro的使用詳解,幫助大家更好的理解和學(xué)習(xí)使用Shiro,感興趣的朋友可以了解下2021-04-04SpringMVC使用MultipartFile 實(shí)現(xiàn)異步上傳方法介紹
這篇文章主要介紹了SpringMVC使用MultipartFile 實(shí)現(xiàn)異步上傳方法介紹,涉及pom依賴的添加,配置文件的修改等具體操作代碼,需要的朋友可以了解下。2017-09-09springmvc @RequestBody String類型參數(shù)的使用
這篇文章主要介紹了springmvc @RequestBody String類型參數(shù)的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10IDEA中編寫并運(yùn)行shell腳本的實(shí)現(xiàn)
這篇文章主要介紹了IDEA中編寫并運(yùn)行shell腳本的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08java 替換docx文件中的字符串方法實(shí)現(xiàn)
這篇文章主要介紹了java 替換docx文件中的字符串方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02