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