Java中的分割字符串?split(“.”)無(wú)效問(wèn)題
Java分割字符串 split(“.”)無(wú)效
之前做完善項(xiàng)目的時(shí)時(shí)候,需要將一個(gè)字符串用小數(shù)點(diǎn)分割開(kāi),調(diào)用的是split(“.”),但是總是分割失敗,返回為null,返回的不是自己想要的字符串?dāng)?shù)組。
原方法;
public static void main(String[] args) { ? ? ? ? String a = "0.0"; ? ? ? ? String[] split = a.split("."); ? ? ? ? System.out.println(split.length); ?}
顯示結(jié)果;
"C:\Program Files\Java\jdk1.8.0_333\bin\java.exe" ...
0
之后才發(fā)現(xiàn)這個(gè)問(wèn)題的原因,發(fā)現(xiàn)是split里的正則表達(dá)式寫(xiě)錯(cuò)了,在正則表達(dá)式中,小數(shù)點(diǎn)指的是任意字符,因此不能直接用".“來(lái)匹配小數(shù)點(diǎn),需要使用”\."來(lái)匹配小數(shù)點(diǎn),因此要根據(jù)小數(shù)點(diǎn)分割字符串,需要下面這種寫(xiě)法。
public static void main(String[] args) { ? ? ? ? String a = "0.0"; ? ? ? ? String[] split = a.split("\\."); ? ? ? ? System.out.println(split.length); ?}
顯示結(jié)果;
"C:\Program Files\Java\jdk1.8.0_333\bin\java.exe" ...
2
結(jié)論:Java分割字符串的時(shí)候要注意轉(zhuǎn)義操作。
java用split()分割字符串注意事項(xiàng)
注意:
1.字符"|","*","+“都得加上轉(zhuǎn)義字符,前面加上”\"。
2.而如果是"",那么就得寫(xiě)成"\\"。
3.如果一個(gè)字符串中有多個(gè)分隔符,可以用"|"作為連字符。
比如:String str = “Java string-split#test”,可以用Str.split(" |-|#")把每個(gè)字符串分開(kāi)。這樣就把字符串分成Java string、split、test3個(gè)子字符串。
但是,有時(shí)候我們分割字符串,需要根據(jù)幾個(gè)字符串來(lái)分割
例如需要分割這個(gè)字符串:“ab(12)56”,要根據(jù)兩個(gè)字符 “(” 和 “)”來(lái)分割,應(yīng)該這樣來(lái)分割
public static void main(String[] args) { ?? ?String string = new String(); ?? ?string = "ab(12)56"; ?? ?String[] split1 = string.split("[(,)]"); ?? ?for (String string2 : split1) { ?? ??? ?System.out.println(string2); ?? ?} }
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot集成QQ第三方登陸的實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot集成QQ第三方登陸的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11java中File類的三種創(chuàng)建文件夾方法總結(jié)
這篇文章主要給大家介紹了關(guān)于java中File類的三種創(chuàng)建文件夾方法,File類代表文件或目錄路徑名的抽象表達(dá)形式,通過(guò)File類提供的方法,我們可以很方便地創(chuàng)建文件夾,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-04-04Java多例Bean的應(yīng)用場(chǎng)景-easyExcel導(dǎo)入
EasyExcel 是一個(gè)基于 Java 的簡(jiǎn)單、省內(nèi)存的讀寫(xiě) Excel 的開(kāi)源項(xiàng)目。這篇文章主要介紹了用easyExcel導(dǎo)入Java Bean的應(yīng)用場(chǎng)景,感興趣的朋友可以參考閱讀2023-04-04Java實(shí)現(xiàn)學(xué)生選課管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)學(xué)生選課管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07編寫(xiě)Java代碼對(duì)HDFS進(jìn)行增刪改查操作代碼實(shí)例
這篇文章主要介紹了Java代碼對(duì)HDFS進(jìn)行增刪改查操作,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04