當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java String indexOf()用法及代碼示例


在本教程中,我們將借助示例了解 Java 字符串 indexOf()。

indexOf() 方法返回字符串中指定字符/子字符串第一次出現的索引。

示例

class Main {
  public static void main(String[] args) {
    String str1 = "Java is fun";
    int result;

    // getting index of character 's'
    result = str1.indexOf('s');

    System.out.println(result);
  }
}

// Output: 6

用法:

String indexOf() 方法的語法

string.indexOf(int ch, int fromIndex)

或者

string.indexOf(String str, int fromIndex)

這裏,stringString 類的對象。

參數:

要查找字符的索引,indexOf() 采用以下兩個參數:

  • ch- 要找到起始索引的字符
  • fromIndex(可選) - 如果fromIndex通過,則ch從此索引開始搜索字符

要在字符串中查找指定子字符串的索引,indexOf() 采用以下兩個參數:

  • str- 要找到其起始索引的字符串
  • fromIndex(可選) - 如果fromIndex通過,則str從此索引開始搜索字符串

返回:

  • 返回索引指定字符/字符串的第一次出現
  • 返回 -1如果未找到指定的字符/字符串。

示例 1:Java 字符串 indexOf()

// Java String indexOf() with only one parameter
class Main {
  public static void main(String[] args) {
    String str1 = "Learn Java";
    int result;

    // getting index of character 'J'
    result = str1.indexOf('J');
    System.out.println(result); // 6

    // the first occurrence of 'a' is returned
    result = str1.indexOf('a');
    System.out.println(result); // 2

    // character not in the string
    result = str1.indexOf('j');
    System.out.println(result); // -1

    // getting the index of "ava"
    result = str1.indexOf("ava");

    System.out.println(result); // 7

    // substring not in the string
    result = str1.indexOf("java");

    System.out.println(result); // -1

    // index of empty string in the string
    result = str1.indexOf("");

    System.out.println(result); // 0
  }
}

注意:

  • 字符'a'"Learn Java" 字符串中出現多次。 indexOf() 方法返回 'a' 的第一次出現的索引(即 2)。
  • 如果傳遞的是空字符串,則indexOf()返回0(在第一個位置找到。這是因為空字符串是每個子字符串的子集。

示例 2:indexOf() 使用 fromIndex 參數

class Main {
  public static void main(String[] args) {
    String str1 = "Learn Java programming";
    int result;

    // getting the index of character 'a'
    // search starts at index 4
    result = str1.indexOf('a', 4);

    System.out.println(result);  // 7

    // getting the index of "Java"
    // search starts at index 8
    result = str1.indexOf("Java", 8);

    System.out.println(result);  // -1
  }
}

注意:

  • "Learn Java programming" 字符串中第一次出現的'a' 位於索引 2。但是,使用 str1.indexOf('a', 4) 時會返回第二個 'a' 的索引。這是因為搜索從索引 4 開始。
  • "Java" 字符串在"Learn Java programming" 字符串中。但是,str1.indexOf("Java", 8) 返回 -1(未找到字符串)。這是因為搜索從索引 8 開始,並且 "va programming" 中沒有 "Java"

相關用法


注:本文由純淨天空篩選整理自 Java String indexOf()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。