java indexOf()方法
indexOf()方法,屬於 String類 中的方法。
indexOf()方法,有四種形式的用法:
- public int indexOf(int ch) 返回指定字符ch在字符串中第一次出現處的索引,如果此字符串中沒有這樣的字符,則返回-1。
- public int indexOf(int ch,int fromIndex) 返回從fromIndex位置開始查找指定字符ch在字符串中第一次出現處的索引,如果此字符串中沒有這樣的字符,則返回-1。
- public int indexOf(String str) 返回指定字符str在字符串中第一次出現處的索引,如果此字符串中沒有這樣的字符,則返回-1。
- public int indexOf(String str,int fromIndex) 返回從fromIndex位置開始查找指定字符str在字符串中第一次出現處的索引,如果此字符串中沒有這樣的字符,則返回-1。
語法
public int indexOf(ch)
//或
public int indexOf(ch,int fromIndex)
//或
public int indexOf(String str)
//或
public int indexOf(String str,int fromIndex)
參數
ch -- 字符,Unicode 編碼。
index -- 開始搜索的索引位置,第一個字符是 0 ,第二個是 1 ,以此類推.
str -- 要搜索的子字符串。
例子
public static void main(String[] args) { String Str = new String("測試字符串:www.google.com"); String SubStr1 = new String("google"); 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 第一次出現的位置 :11 從第14個位置查找字符 o 第一次出現的位置 :18 子字符串 SubStr1 第一次出現的位置:10 從第十五個位置開始搜索子字符串 SubStr1 第一次出現的位置 :-1 子字符串 SubStr2 第一次出現的位置 :17
例子二
public static void main(String[] args) { //定義三個字符串str,subStr1,subStr2 String str="測試字符串:www.google.com"; String subStr1="google"; String subStr2="com"; //查找字符o第一次出現的位置 int oIndex=str.indexOf('o'); System.out.println(oIndex); //從索引第14位置開始查找字符o第一次出現的位置 int o14Index=str.indexOf('o',14); System.out.println(o14Index); //查找子字符串subStr1="google"第一次出現的位置 int strIndex=str.indexOf(subStr1); System.out.println(strIndex); //從索引第15位置開始查找字符串subStr1="google"第一次出現的位置,如果沒找到則返回-1 int str15Index=str.indexOf(subStr1,15); System.out.println(str15Index); //查找子字符串subStr2="com"第一次出現的位置 int str2Index=str.indexOf(subStr2); System.out.println(str2Index); }
以上執行的結果為
11
18
10
-1
17