📜  Java字符串indexOf()

📅  最后修改于: 2020-09-27 02:38:52             🧑  作者: Mango

String indexOf()方法返回字符串指定字符 / substring首次出现的索引。

字符串indexOf()方法的语法

string.indexOf(int ch, int fromIndex)

要么

string.indexOf(String str, int fromIndex)

在这里, 字符串String类的对象。


indexOf()参数

为了找到字符的索引, indexOf()采用以下两个参数:

  • ch-要找到其起始索引的字符
  • fromIndex (可选)-如果传递了fromIndex ,则从该索引开始搜索ch 字符

要在字符串找到指定子字符串的索引, indexOf()采用以下两个参数:

  • str-要找到其起始索引的字符串
  • fromIndex (可选)-如果传递了fromIndex ,则从该索引开始搜索str 字符串

indexOf()返回值
  • 返回指定字符/ 字符串首次出现的索引
  • 如果找不到指定的字符/ 字符串,则返回-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:具有fromIndex参数的indexOf()
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" "va programming"

推荐阅读: Java字符串lastIndexOf()