Java String indexOf() 使用方法及示例 - Java教程

由网友 大卫 发布 阅读 8

Java String indexOf() 使用方法及示例 - Java教程

Java String(字符串) 方法

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

String indexOf()方法的语法

string.indexOf(int ch, int fromIndex)

string.indexOf(string str, int fromIndex)

indexOf()参数

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

  • ch - 要找到起始索引的字符

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

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

  • str - 要查找其起始索引的字符串

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

indexOf() 返回值

  • 返回指定字符/字符串的第一个匹配项的索引

  • 如果找不到指定的字符/字符串,则返回 -1

示例1:Java字符串indexOf()

//Java字符串indexOf()只有一个参数
class Main {
  public static void main(String[] args) {
    String str1 = "Learn Java";
    int result;

    //获取字符“ J”的索引
    result = str1.indexOf('J');
    System.out.println(result); // 6

    //返回第一个出现的“a”
    result = str1.indexOf('a');
    System.out.println(result); // 2

    //字符不在字符串中
    result = str1.indexOf('j');
    System.out.println(result); // -1

    //获取“ ava”的索引
    result = str1.indexOf("ava");
    System.out.println(result); // 7

    //子字符串不在字符串中
    result = str1.indexOf("java");
    System.out.println(result); // -1

    //字符串中空字符串的索引
    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;

        //获取字符“ a”的索引
        //搜索从索引4开始
    result = str1.indexOf('a', 4);
    System.out.println(result); // 7

        //获取“ Java”的索引
        //搜索从索引8开始
    result = str1.indexOf("Java", 8);
    System.out.println(result); // -1
  }
}

说明:

  • 在“Learn Java programming”字符串中第一次出现的“a”是在索引2处。但是,当str1返回第二个“a”的索引。使用indexOf('a', 4)。这是因为搜索从索引4开始。

  • Java”字符串位于“Learn Java programming”字符串中。 但是,str1.indexOf("Java",8)返回-1(未找到字符串)。 这是因为搜索从索引8开始,并且在“ va programming”中没有“ Java”。


相关阅读: Java字符串lastIndexOf()

Java String(字符串) 方法

Java String getBytes() Java String equals()