java String.split 無法使用小數(shù)點分割的問題
String.split 無法使用小數(shù)點分割
當我分割文件名的時候,想使用split來進行分割,由于文件名使用的是".",當我使用此分割時候數(shù)組返回無效
當然也可以使用indexof+length的方式來截取
解決方法
連續(xù)使用"\\."對小數(shù)點進行轉(zhuǎn)義即可
因此我去eclipse測試了下
public class HelloWorld {
? ? public static void main(String[] args) {
? ? ? ? String sTemp = "test.xls";
? ? ? ? String[] sTempArray = sTemp.split(".");
? ? ? ? System.out.print(sTempArray[0]);
? ? ? ? return;
? ? }
}當我運行上面的代碼的時候發(fā)現(xiàn)報錯
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at HelloWorld.main(HelloWorld.java:5)
其實是小數(shù)點需要轉(zhuǎn)義的
public class HelloWorld {
? ? public static void main(String[] args) {
? ? ? ? String sTemp = "test.xls";
? ? ? ? String[] sTempArray = sTemp.split(".");
? ? ? ? System.out.print(sTempArray[0]);
? ? ? ? return;
? ? }
}運行結(jié)果如下
test
String.split()方法的注意點(轉(zhuǎn)義符)
java.lang包中的String.split()方法
1.字符串中存在.和|的時候
不能直接用String.split(".")進行分隔,而是String.split("\\ .")或者String.split("\\ |");
因為直接寫的話系統(tǒng)是無法識別的,需要通過轉(zhuǎn)義符
用豎 * 分隔字符串運行將拋出java.util.regex.PatternSyntaxException異常,用加號 + 也是如此。
同時 \ 也是如此,在運用一定要用上轉(zhuǎn)義符 ---- \\
具體可以查詢jdk1.6或者1.8中的java.lang包中的String.split(String regex)方法中的規(guī)則表達式
2.如果在一個字符串中有多個分隔符
可以用“|”作為連字符,比如:“acount=? and uu =? or n=?”,把三個都分隔出來,可以用
String.split("and | or");使用String.split方法分隔字符串時,分隔符如果用到一些特殊字符,可能會得不到我們預期的結(jié)果。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java16 JDK安裝并設(shè)置環(huán)境變量的方法步驟
突然想起自己大學剛接觸java的時候,要下載JDK和配置環(huán)境變量,那時候我上網(wǎng)找了很多教學,本文就詳細的介紹一下Java16 JDK安裝并設(shè)置環(huán)境變量,感興趣的可以了解一下2021-09-09
SpringBoot如何訪問html和js等靜態(tài)資源配置
這篇文章主要介紹了SpringBoot如何訪問html和js等靜態(tài)資源配置,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03
Java詳解如何將excel數(shù)據(jù)轉(zhuǎn)為樹形
在平常的辦公工作中,excel數(shù)據(jù)的操作是最常見的需求,今天就來看一下通過Java如何來實現(xiàn)將excel數(shù)據(jù)轉(zhuǎn)為樹形,感興趣的朋友可以了解下2022-08-08
Java基于線程實現(xiàn)帶有滾動效果的Label標簽實例
這篇文章主要介紹了Java基于線程實現(xiàn)帶有滾動效果的Label標簽,實例分析了java線程的使用技巧及l(fā)abel標簽的實現(xiàn)方法,具有一定參考借鑒價值,需要的朋友可以參考下2015-07-07

