📜  Java字符串indexOf()(1)

📅  最后修改于: 2023-12-03 15:32:03.124000             🧑  作者: Mango

Java字符串indexOf()

在Java中,字符串(String)是最常用的对象之一。其中,indexOf()方法是用于查找字符串中某个子串的方法。

indexOf()方法简介

indexOf()方法的语法如下:

public int indexOf(String str)

该方法返回字符串中第一次出现指定子字符串的位置。如果没有找到,则返回-1。

例如:

String str = "hello world";
int result = str.indexOf("world");
System.out.println(result);

// 输出:6
多个子串情况

当字符串中有多个相同的子串时,indexOf()方法只会返回第一个出现位置。如果需要查找所有出现位置,可以使用下面的代码:

String str = "hello world, hello world";
int fromIndex = 0;

while ((fromIndex = str.indexOf("world", fromIndex)) != -1) {
    System.out.println(fromIndex);
    fromIndex++;
}

// 输出:
// 6
// 18
指定开始位置

indexOf()方法还支持从指定位置开始查找子串。例如:

String str = "hello world, hello world";
int result = str.indexOf("world", 7);
System.out.println(result);

// 输出:18
不区分大小写查找

如果不希望查找时区分大小写,可以使用indexOf()方法的另一个版本:

public int indexOf(String str, int fromIndex)

其中,fromIndex参数表示从哪个位置开始查找。如果希望不区分大小写,可以使用以下代码:

String str = "Hello World";
int result = str.toLowerCase().indexOf("hello");
System.out.println(result);

// 输出:0
总结

indexOf()方法是字符串处理中非常常用的方法,可以用于查找子串的位置等操作。在使用时需要注意判断返回值是否为-1来判断是否找到了指定的子串。如果需要查找多个子串,可以使用循环结合fromIndex参数来找到所有的位置。另外,如果需要不区分大小写查找,可以使用toLowerCase()方法来将字符串转换为小写再进行查找。