原文: https://beginnersbook.com/2013/12/java-string-indexof-method-example/

Java String indexOf()方法用于查找给定String中指定字符或子字符串的索引。String中有 4 种变体:

indexOf()方法签名

int indexOf(int ch):返回给定String中字符ch的第一次出现的索引。

int indexOf(int ch, int fromIndex):返回给定字符串中指定索引fromIndex后,字符ch的第一次出现的索引。例如,如果像str.indexOf('A', 20)那样调用indexOf()方法,那么它将开始在字符串str中索引 20 之后查找字符'A'

int indexOf(String str):返回特定String中字符串str的索引。

int indexOf(String str, int fromIndex):返回给定字符串中指定索引fromIndex后,字符串str的索引。

如果在特定String中找不到指定的char/substring,则上述所有函数都返回 -1

Java String indexOf()方法示例

  1. public class IndexOfExample{
  2. public static void main(String args[]) {
  3. String str1 = new String("This is a BeginnersBook tutorial");
  4. String str2 = new String("Beginners");
  5. String str3 = new String("Book");
  6. String str4 = new String("Books");
  7. System.out.println("Index of B in str1: "+str1.indexOf('B'));
  8. System.out.println("Index of B in str1 after 15th char:"+str1.indexOf('B', 15));
  9. System.out.println("Index of B in str1 after 30th char:"+str1.indexOf('B', 30));
  10. System.out.println("Index of string str2 in str1:"+str1.indexOf(str2));
  11. System.out.println("Index of str2 after 15th char"+str1.indexOf(str2, 15));
  12. System.out.println("Index of string str3:"+str1.indexOf(str3));
  13. System.out.println("Index of string str4"+str1.indexOf(str4));
  14. System.out.println("Index of hardcoded string:"+str1.indexOf("is"));
  15. System.out.println("Index of hardcoded string after 4th char:"+str1.indexOf("is", 4));
  16. }
  17. }

输出:

  1. Index of B in str1: 10
  2. Index of B in str1 after 15th char:19
  3. Index of B in str1 after 30th char:-1
  4. Index of string str2 in str1:10
  5. Index of str2 after 15th char-1
  6. Index of string str3:19
  7. Index of string str4-1
  8. Index of hardcoded string:2
  9. Index of hardcoded string after 4th char:5

indexOf()方法的另一个例子

让我们举一个简短的例子,我们使用indexOf()方法找到给定字符和子字符串的索引。

  1. public class JavaExample {
  2. public static void main(String[] args) {
  3. String str = "Java String";
  4. char ch = 'J';
  5. char ch2 = 'S';
  6. String subStr = "tri";
  7. int posOfJ = str.indexOf(ch);
  8. int posOfS = str.indexOf(ch2);
  9. int posOfSubstr = str.indexOf(subStr);
  10. System.out.println(posOfJ);
  11. System.out.println(posOfS);
  12. System.out.println(posOfSubstr);
  13. }
  14. }

输出:

Java `String indexOf()`方法 - 图1