Java indexOf() 方法

Java String類Java String類


indexOf() 方法有以下四種形式:

  • public int indexOf(int ch): 返回指定字元在字串中第一次出現處的索引,如果此字串中沒有這樣的字元,則返回 -1。

  • public int indexOf(int ch, int fromIndex): 返回從 fromIndex 位置開始查找指定字元在字串中第一次出現處的索引,如果此字串中沒有這樣的字元,則返回 -1。

  • int indexOf(String str): 返回指定字元在字串中第一次出現處的索引,如果此字串中沒有這樣的字元,則返回 -1。

  • int indexOf(String str, int fromIndex): 返回從 fromIndex 位置開始查找指定字元在字串中第一次出現處的索引,如果此字串中沒有這樣的字元,則返回 -1。

語法

public int indexOf(int ch )

或


public int indexOf(int ch, int fromIndex)

或


int indexOf(String str)

或


int indexOf(String str, int fromIndex)

參數

  • ch -- 字元,Unicode 編碼。

  • fromIndex -- 開始搜索的索引位置,第一個字元是 0 ,第二個是 1 ,以此類推。

  • str -- 要搜索的子字串。

返回值

查找字串,或字元 Unicode 編碼在字串出現的位置:

實例 1

public class Main { public static void main(String args[]) { String string = "aaa456ac"; //查找指定字元是在字串中的下標。在則返回所在字串下標;不在則返回-1. System.out.println(string.indexOf("b")); // indexOf(String str); 返回結果:-1,"b"不存在 // 從第四個字元位置開始往後繼續查找,包含當前位置 System.out.println(string.indexOf("a",3));//indexOf(String str, int fromIndex); 返回結果:6 //(與之前的差別:上面的參數是 String 類型,下麵的參數是 int 類型)參考數據:a-97,b-98,c-99 // 從頭開始查找是否存在指定的字元 System.out.println(string.indexOf(99));//indexOf(int ch);返回結果:7 System.out.println(string.indexOf('c'));//indexOf(int ch);返回結果:7 //從fromIndex查找ch,這個是字元型變數,不是字串。字元a對應的數字就是97。 System.out.println(string.indexOf(97,3));//indexOf(int ch, int fromIndex); 返回結果:6 System.out.println(string.indexOf('a',3));//indexOf(int ch, int fromIndex); 返回結果:6 } }

輸出結果為:

-1
6
7
7
6
6

指定子字串在字串中第一次出現處的索引,從指定的索引開始。

實例 2

public class Test { public static void main(String args[]) { String Str = new String("IT研修:www.xuhuhu.com"); String SubStr1 = new String("zaixian"); String SubStr2 = new String("com"); System.out.print("查找字元 o 第一次出現的位置 :" ); System.out.println(Str.indexOf( 'o' )); System.out.print("從第14個位置查找字元 o 第一次出現的位置 :" ); System.out.println(Str.indexOf( 'o', 14 )); System.out.print("子字串 SubStr1 第一次出現的位置:" ); System.out.println( Str.indexOf( SubStr1 )); System.out.print("從第十五個位置開始搜索子字串 SubStr1 第一次出現的位置 :" ); System.out.println( Str.indexOf( SubStr1, 15 )); System.out.print("子字串 SubStr2 第一次出現的位置 :" ); System.out.println(Str.indexOf( SubStr2 )); } }

以上程式執行結果為:

查找字元 o 第一次出現的位置 :12
從第14個位置查找字元 o 第一次出現的位置 :17
子字串 SubStr1 第一次出現的位置:9
從第十五個位置開始搜索子字串 SubStr1 第一次出現的位置 :-1
子字串 SubStr2 第一次出現的位置 :16

Java String類Java String類