天天看點

迅速學會字元串查找與替換 | 帶你學《Java面向對象程式設計》之三十三

上一篇:教你成為字元串連連看高手 | 帶你學《Java面向對象程式設計》之三十二

【本節目标】

通過閱讀本節内容,你将對字元串查找、替換相關的方法有了初步的了解,學會靈活使用相關的方法解決實際操作中遇到的各種需求。

字元串查找

從一個完整的字元串中查找子字元串的存在就屬于字元串查找操作,在String類中一共提供有如下的幾個查找方法。

No. 方法名稱 類型 描述
01 public boolean contains(String s) 普通 判斷子字元串是否存在
02 public int indexOf(String str) 從頭查找指定字元串的位置,找不到傳回-1
03 public int indexOf(String str, int fromIndex) 從指定位置查找指定字元串的位置
04 public int lastIndexOf(String str) 由後向前查找指定字元串的位置
05 public int lastIndexOf(String str, int fromIndex) 從指定位置由後向前查找指定字元串的位置
06 public boolean startsWith(String prefix) 判斷是否以指定的字元串開頭
07 public boolean startsWith(String prefix, int toffset) 由指定位置判斷是否以指定的字元串開頭
08 public boolean endsWith(String suffix) 是否以指定的字元串結尾

範例:判斷子字元串是否存在

public class StringDemo{
   public static void main(String args[]) {
       String str = “www.mldn.cn” ;
       System.out.println(str.contains(“mldn”)) ;    //true
       System.out.println(str.contains(“hello”)) ;    //false
   }      
}           

此方法的操作相對而言比較直覺一些,但是這個方法是從JDK1.5之後開始追加道程式中的功能。在JDK1.5之前如果要進行資料的查詢往往隻能夠依靠indexOf()方法來完成。

範例:判斷字元串是否存在

public class StringDemo{
   public static void main(String args[]) {
       String str = “www.mldn.cn” ;
       System.out.println(str.indexOf(“mldn”)) ;    //4,在第四個位置
       System.out.println(str.indexOf(“hello”)) ;    //-1
       if (str.indexOf(“mldn”) != -1) {
          System.out.println(“資料存在”) ;      //資料存在
       }
   }      
}           

indexOf()是為了進行子字元串的查詢,在一些開發之中就可以利用此形式來進行一些索引的确定。indexOf()是由前向後查找的,也可以由後向前查找。

範例:使用lastIndexOf()查找

public class StringDemo{
   public static void main(String args[]) {
       String str = “www.mldn.cn” ;
       System.out.println(str.lastIndexOf(“.”)) ;   //8
       System.out.println(str.lastIndexOf(“.”,5)) ;  //3
   }      
}           

在進行字元串查找的時候也需要判斷開頭或結尾的操作。

範例:判斷是否以指定的字元串開頭或結尾

public class StringDemo{
   public static void main(String args[]) {
       String str = “**@@www.mldn.cn##” ;
       System.out.println(str.startsWith(“**”)) ;   //true
       System.out.println(str.startsWith(“@@”,2)) ; //true
       System.out.println(str.endsWith (“##”)) ;  //true
   }      
}           

後面的許多設計都需要它的支援。

字元串替換

所謂的字元串替換指的是可以通過一個指定的内容進行指定字元串的替換顯示,對于替換的方法主要有兩個。

public String replaceAll(String regexString replacement) 進行全部替換
public String replaceFirst(String regex, String replacement) 替換首個

範例:實作替換處理

public class StringDemo{
   public static void main(String args[]) {
       String str = “helloworld” ;
       System.out.println(str.replaceAll(“l” , “X”)) ;     //heXXoworXd
       System.out.println(str.replaceFirst (“l” , “X”)) ;    //heXloworld
   }      
}           

替換在之後會有更加詳細的講解,并且在開發中,尤其是設計的時候替換很重要。

想學習更多的Java的課程嗎?從小白到大神,從入門到精通,更多精彩不容錯過!免費為您提供更多的學習資源。

本内容視訊來源于

阿裡雲大學 下一篇:詳解字元串拆、截、格式化之法 | 帶你學《Java面向對象程式設計》之三十四 更多Java面向對象程式設計文章檢視此處