Java indexOf() 方法
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