当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。