Java indexOf()方法:返回第一次出現的索引位置

2020-07-16 10:04:49
Java String 類中 indexOf() 方法返回在此字串中第一次出現指定字元處的索引。如果在此 String 物件表示的字元序列中出現值為 ch 的字元,則返回第一次出現該字元的索引(以Unicode程式碼單元表示)。如果未出現該字元,則返回 -1。

語法1

indexOf(int ch)

引數說明:
  • ch:一個字元(Unicode程式碼點)。

範例

使用 indexOf() 函數查詢數位 5 在字串 strCom1 中的索引位置,並將返回結果賦值給 int 型變數 index。由於字串 strCom 中並不包含數位 5,因此 index 的值為 -1。
String strCom = "I like java";
int index = strCom.indexOf(5);

語法2

返回在此字串中第一次出現指定字元處的索引,從指定的索引開始搜尋。在此物件表示的字元序列中第一次出現的大於或等於 fromIndex 的字元的索引;如果未出現該字元,則返回 -1。

indexOf(int ch,int fromIndex)

引數說明:
  • ch:一個字元(Unicode程式碼點)。
  • fromIndex:開始搜尋的索引位置。


注意:fromIndex 的值沒有限制。如果它為負,則與它為 0 的效果相同:將搜尋整個字串。如果它大於此字串的長度,則與它等於此字串長度的效果相同:返回 -1。

範例

使用 indexOf() 函數在字串 strCom中 搜尋字元 7,開始搜尋的索引位置是 0,並將返回結果賦值給 int 型變數 index。由於在指定的搜尋範圍內不包含字元 7,因此 index 的值為 -1。
String strCom="I like java";
int index=strCom.indexOf(7,0);

語法3

返回在此字串中第一次出現指定子字串處的索引。如果它不作為一個子字串出現,則返回-1。

public int indexOf(String str)

引數說明:
  • str:任意要查詢的字串。

範例

使用 indexOf() 函數獲取指定字串“C語言中文網”在字串 strCom 中第一次出現的索引位置,並將返回結果賦值給 int 型變數 index。
String strCom="C語言中文網!";
int index=strCom.indexOf("C語言中文網");

語法4

返回在此字串中第一次出現指定子字串處的索引,從指定的索引開始;如果未出現該子字串,則返回 -1。

public int indexOf(String str,int fromIndex)

參試說明:
  • str:要搜尋的子字串。
  • fromIndex:開始搜尋的索引位置。

典型應用

使用 indexOf 方法查詢字串非常方便,這個方法也是在開發中應用較多的方法。本範例實現使用 indexOf 方法查詢在字串中字元 a 所在字元的索引位置,程式碼如下:

public static void main(String[] args){
    String str = "We are students";  //定義字串物件
    int index = str.indexOf("a");  //使用indexOf方法查詢字元a在字串中的索引位置
    System.out.println("a在"+str+"中的位置是:"+index);  //輸出索引位置
}

執行結果:
a 在 We are students 中的位置是:3