首頁  >  文章  >  类库下载  >  Java String.split()用法小結

Java String.split()用法小結

巴扎黑
巴扎黑原創
2016-11-26 09:11:291727瀏覽

在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 mat of the given regular expression.FString
,他對一些特殊的字符可能會出現你預想不到的結果,比如測試下面的代碼用豎線| 分隔字符串,你將得不到預期的結果

 

Java代碼  

String[] aa= "aaa|bbb|ccc".split("|");  

  

    //String[] aa = "aaa|bbb|ccc".split("\|") aa = "aaa|bbb|ccc"。

    for (int i = 0 ; i   

  

    }  

 

 

用豎* 分隔字串運行將拋出java.util.regex.PatternSyntaxException異常,用加號+ 也是如此。

 

Java代碼  

String[] aa = "aaa*bbb*ccc".split("*");  

 \*"); 這樣才能得到正確的結果      

  

    for (int i = 0 ; i     System.out.println("--"+aa[i] );   

  

    }  

 

 

\已確定的結果

"|" 分隔串時雖然能夠執行,但是卻不是預期的目的,"\|"轉義後即可得到正確的結果。

 

還有如果想在串中使用""字符,則也需要轉義.首先要表達"aaaabbbb"這個串就應該用"aaaa\bbbb",如果要分隔就應該這樣才能得到正確結果,

Java代碼  

String[] aa = "aaa\bbb\bccc".split("\\");  

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn