Java中String.split()用法小結。本站提示廣大學習愛好者:(Java中String.split()用法小結)文章只能為提供參考,不一定能成為您想要的結果。以下是Java中String.split()用法小結正文
在java.lang包中有String.split()辦法,前往是一個數組
我在運用頂用到一些,給年夜家總結一下,僅供年夜家參考:
1、假如用“.”作為分隔的話,必需是以下寫法,String.split("\\."),如許能力准確的分離隔,不克不及用String.split(".");
2、假如用“|”作為分隔的話,必需是以下寫法,String.split("\\|"),如許能力准確的分離隔,不克不及用String.split("|");
“.”和“|”都是本義字符,必需得加"\\";
3、假如在一個字符串中有多個分隔符,可以用“|”作為連字符,好比,“acount=? and uu =? or n=?”,把三個都分隔出來,可以用String.split("and|or");
應用String.split辦法分隔字符串時,分隔符假如用到一些特別字符,能夠會得不到我們預期的成果。
我們看jdk doc中解釋
public String[] split(String regex)
Splits this string around matches of the given regular expression.
參數regex是一個 regular-expression的婚配形式而不是一個簡略的String,他對一些特別的字符能夠會湧現你料想不到的成果,好比測試上面的代碼用豎線 | 分隔字符串,你將得不到預期的成果
String[] aa = "aaa|bbb|ccc".split("|"); //String[] aa = "aaa|bbb|ccc".split("\\|"); 如許能力獲得准確的成果 for (int i = 0 ; i <aa.length ; i++ ) { System.out.println("--"+aa[i]); }
用豎 * 分隔字符串運轉將拋出java.util.regex.PatternSyntaxException異常,用加號 + 也是如斯。
String[] aa = "aaa*bbb*ccc".split("*"); //String[] aa = "aaa|bbb|ccc".split("\\*"); 如許能力獲得准確的成果 for (int i = 0 ; i <aa.length ; i++ ) { System.out.println("--"+aa[i]); }
明顯, + * 不是有用的形式婚配規矩表達式,用"\\*" "\\+"本義後便可獲得准確的成果。
"|" 分隔串時固然可以或許履行,然則卻不是預期的目標,"\\|"本義後便可獲得准確的成果。
還有假如想在串中應用"\"字符,則也須要本義.起首要表達"aaaa\bbbb"這個串就應當用"aaaa\\bbbb",假如要分隔就應當如許能力獲得准確成果,
String[] aa = "aaa\\bbb\\bccc".split(\\\\);
以上所述是小編給年夜家引見的Java String.split()用法小結的全體論述,願望對年夜家有所贊助,假如年夜家想懂得更多內容敬請存眷!