Java中String類的一些用法

 

Java相對於目前的一些語言來說是一門成熟的語言,因此,它擁有許多庫函數.在這,說一些常用的String類的一些函數,還會陸續補充,也歡迎大家補充修正.

 



String s = new String("bye")  String s1 = new String("bye")
        if(s==s1) 結果是false,因爲這是比較這兩個是不是同一個字符串,而不是比較內容
如果要比較兩個字符串的內容是否是一樣的,那麼需要用s.equals(s1)來判斷




s.compareTo(s1) 比較兩個字符串的大小,1表示s大,-1表示s1大,0表示相等


s.length() 獲取字符串的長度


s.charAt(index)訪問字符串裏的字符,index的範圍是length()-1
第一個字符的index是0,不能用for-each循環來遍歷字符串


s.substring(n)得到子串:得到從n號位置到末尾的全部內容


s.substring(b,e)得到子串:得到從b號位置到e號位置之前的內容


s.indexOf(c) 得到c字符第一次出現的位置(即左開始查找第一次出現的位置),-1表示不存在
s.lastIndexOf(c)得到c字符最後一次出現的位置(即從右邊開始找c第一次出現的位置)


s.indexOf(c,n)從n號位置開始尋找c字符第一次出現的位置
s.lastIndexOf(c,n)從第n位開始找查找c字符最後一次出現的位置(即從右邊開始找c字符第一次出現的位置)


s.indexOf(t) 找到字符串t第一次出現的位置
s.lastIndexOf(t) 找到字符串t最後一次出現的位置(從右邊開始找)


s.trim() 把字符串兩端的空格刪掉


s.replace(s,s1) 把s換成s1,即把s1複製給s


s.replaceAll("要替換的東西a的正則表達式","用b替換")   將一個字符串中的a全部變爲b 


s.toLowerCase()把字符串的所有字母都換成小寫字母


s.toUpperCase()  把字符串裏的所有字母都換成大寫字母


s.startsWith(t) s.endsWith(t)  看這個字符串是不是以t子串開頭或結尾的




PS:字符串本身是不可修改的,s.trim(),s.replace(s,s1),s.replaceAll(s,s1),s.toLowerCase()
s.toUpperCase()這些不能直接對s進行修改,需要用一個新的串來存放修改後的串.
如:String s2 = s.*****().

 

replaceAll的一些用法

 

st.replaceAll("[0-9]","");   將字符串中的數字全部刪掉


st.replaceAll("[^0-9]","");   將字符串中除了數字以外的字符全部刪掉


st.replaceAll("[a-zA-Z]","");  將字符串中的字母全部刪掉


st.replaceAll("[^a-zA-Z]","");  將字符串中除了字母以外的字符全部刪掉


st.replaceAll("\\d","");      將字符串中的數字全部刪掉 


以上都是將某些字符給刪掉,如果不刪掉而是用其他字符替換掉,那麼就在第二個""中
輸入字符用來替換.


//d這個是由兩部分組成的,\ 轉義符加\d是一個正則表達式,標識所有數字及0-9.
之所以要加\是因爲在JAVA中一些特殊的符號如[回車]是沒有符號代表的,
所以需要轉義符這個概念.而像回車這類轉義符都是由\開始的,那麼就出現了第二個問題,
如果我要輸入的恰恰是\符號怎麼辦,那麼這個問題就還用轉義符來解決,所以\的轉義符就是\\.



   其他的一些正則表達式
  \\ 反斜槓 
\t 間隔 ('\u0009')
\n 換行 ('\u000A')
\r 回車 ('\u000D')
\d 數字 等價於 [0-9]
\D 非數字 等價於 [^0-9]
\s 空白符號 [\t\n\x0B\f\r]
\S 非空白符號 [^\t\n\x0B\f\r]
\w 單獨字符 [a-zA-Z_0-9]
\W 非單獨字符 [^a-zA-Z_0-9]
\f 換頁符 
\e Escape
\b 一個單詞的邊界 
\B 一個非單詞的邊界 
\G 前一個匹配的結束



 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章