Java入門第75課——在一個字符串中檢索另外一個字符串

問題

        在上一案例的基礎上,檢索一個字符串在另一個字符中的索引位置,即,現有字符串"I can because i think i can",檢索字符串"can"在此字符串中出現的索引位置。詳細要求如下:

        1)檢索字符串"can"在此字符串中第一次出現的索引位置。

        2)檢索字符串"can"在此字符串中最後一次出現的索引位置。

        3)從索引位置爲6開始,檢索字符串"can"在此字符串第一次出現的索引位置。

        4)檢索字符串"Can"在此字符串中第一次出現的索引位置。注意字符串"Can"中的字母C爲大寫。

方案

        1)定義字符串對象str,初始化爲"I can because i think i can",接着,調用indexOf方法,檢索字符串"can"在此字符串中第一次出現的索引位置。該方法聲明如下:

int indexOf(String str)

        以上indexOf方法表示在字符串中索引str,返回其第一齣現的索引位置,如果找不到則返回-1。

        2)調用lastIndexOf的方法,檢索字符串"can"在此字符串中最後一次出現的索引位置。該方法聲明如下:

 int lastIndexOf(String str)

        lastIndexOf方法和indexOf方法類似,只是當str在字符串中多次出現時,將返回最後一個出現的索引位置,如果找不到則返回-1.

        3)調用重載的indexOf方法,從索引位置爲6開始,檢索字符串"can"在此字符串中第一次出現的索引位置。該方法聲明如下:

int indexOf(String str,int fromIndex)

        以上方法類似indexOf(String),但是是從字符串的fromIndex位置開始檢索。

        4)調用indexOf(String str)檢索字符串"Can"在此字符串中第一次出現的索引位置,如果找不到則返回-1。

步驟    

        實現此案例需要按照如下步驟進行。

步驟一:使用indexOf(String str)

        首先,在類TestString中,添加測試方法testIndexOf。在該方法中,首先定義字符串對象str,初始化爲"I can because i think i can",接着,調用indexOf方法,檢索字符串"can"在字符串str中第一次出現的索引位置。代碼如下所示:

package day01;
    
    import org.junit.Test;
    
    public class TestString{
        /**
         *在一個字符串中檢索另外一個字符串
         */
         @Test
         public void testIndexOf(){
             
             String str="I can because i think i can";
             int index=str.indexOf("can");
             System.out.println(index);//2
         }
    }

        運行testIndexOf方法,控制檯輸出結果如下:

2

        從輸出結果可以看出,字符串"can"在字符串中第一次出現的索引位置爲2。

步驟二:使用lastIndexOf方法

        調用lastIndexOf的用法,檢索字符串"can"在字符串str中最後一次出現的索引位置。代碼如下所示:

package day01;
    
    import org.junit.Test;
    
    public class TestString{
        /**
         *在一個字符串中檢索另外一個字符串
         */
         @Test
         public void testIndexOf(){
             
             String str="I can because i think i can";
             int index=str.indexOf("can");
             System.out.println(index);//2
             
             index=str.lastIndexOf("can");
             System.out.println(index);//24
         }
    }

        運行testIndexOf方法,控制檯輸出結果如下:

2
    
24

        從輸出結果可以看出,字符串"can"在str中最後一次出現的索引位置爲24。

步驟三:使用indexOf(String str,int fromIndex)    

        調用重載的indexOf方法,從索引位置爲6開始,檢索字符串"can"在字符串str中第一次出現的索引位置。代碼如下所示:

package day01;
    
    import org.junit.Test;
    
    public class TestString{
        /**
         *在一個字符串中檢索另外一個字符串
         */
         @Test
         public void testIndexOf(){
             
             String str="I can because i think i can";
             int index=str.indexOf("can");
             System.out.println(index);//2
             
             index=str.lastIndexOf("can");
             System.out.println(index);//24
             
             index=str.indexOf("can",6);
             System.out.println(index);//24
         }
    }

           運行testIndexOf方法,控制檯輸出結果如下:

2
24
    
24

        從輸出結果可以看出,從索引位置6開始,字符串"can"在str中第一次出現的索引位置爲24。

步驟四:使用indexOf(String str),要檢索的字符串不存在的情況

        調用indexOf(String str)檢索字符串"Can"在此字符串中第一次出現的索引位置,如果找不到則返回-1。代碼如下所示:

    package day01;
    
    import org.junit.Test;
    
    public class TestString{
        /**
         *在一個字符串中檢索另外一個字符串
         */
         @Test
         public void testIndexOf(){
             String str="I can because i think i can";
             int index=str.indexOf("can");
             System.out.println(index); //2
             
             index=str.lastIndexOf("can");
             System.out.println(index); //24
             
             index=str.indexOf("can",6);
             System.out.println(index); //24
             
             index=str.indexOf("Can");
             System.out.println(index); //-1
         }
    }

        運行testIndexOf方法,控制檯輸出結果如下:

    2
    24
    24
    
    -1

        從輸出結果可以看出,控制檯的輸出結果爲-1,說明字符串"Can"在str中不存在。

關注公衆號,回覆"string"即可獲取string字符串視頻

發佈了132 篇原創文章 · 獲贊 74 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章