欢迎访问宙启技术站
智能推送

Java中的String indexOf()函数

发布时间:2023-05-30 04:10:15

Java中的String类提供了很多实用的方法,其中一个很有用的方法是indexOf()函数,这个函数可以帮助我们查找一个子串在字符串中 次出现的位置。在本文中,我们将详细介绍indexOf()函数及其使用方式。

indexOf()函数的语法

indexOf()函数的语法如下:

public int indexOf(String str)

其中,参数str表示要查找的子串。返回值为子串在字符串中 次出现的位置,位置从0开始计算。如果子串不在字符串中,返回-1。

举个例子,如果我们有一个字符串str,想要查找它中间的"hello"子串的位置,我们可以这样调用indexOf()函数:

int index = str.indexOf("hello");

上面这行代码将返回"hello"子串在str中 次出现的位置。如果"hello"子串不在str中,则返回-1。

indexOf()函数的重载方法

除了上面提到的indexOf()方法,String类还提供了一些重载方法,以支持更灵活的用法。下面是这些方法的签名:

public int indexOf(String str, int fromIndex)

这个方法在字符串中查找子串str,起始位置从fromIndex开始。返回子串在字符串中 次出现的位置,如果子串不在字符串中,则返回-1。

public int indexOf(int ch)

这个方法返回指定字符在字符串中 次出现的位置。如果指定字符不存在,则返回-1。

public int indexOf(int ch, int fromIndex)

这个方法在字符串中查找指定字符,起始位置从fromIndex开始。返回指定字符在字符串中 次出现的位置,如果指定字符不存在,则返回-1。

public int indexOf(String str, int fromIndex)

这个方法在字符串中查找子串,忽略大小写,起始位置从fromIndex开始。返回子串在字符串中 次出现的位置,如果子串不在字符串中,则返回-1。

indexOf()函数的使用案例

现在我们来看一个使用indexOf()函数的示例。

假设我们有一个文本文件,它包含了一些字符串。我们需要查找包含特定子串的行,并将它们输出到控制台。下面是一个Java程序可以实现这个功能:

import java.io.BufferedReader;

import java.io.FileReader;

import java.io.IOException;

public class SearchString {

    public static void main(String[] args) {

        String fileName = "test.txt";

        String searchStr = "hello";

        try {

            BufferedReader reader = new BufferedReader(new FileReader(fileName));

            String line;

            int lineNumber = 1;

            while ((line = reader.readLine()) != null) {

                if (line.indexOf(searchStr) != -1) {

                    System.out.println("Line #" + lineNumber + ": " + line);

                }

                lineNumber++;

            }

            reader.close();

        } catch (IOException e) {

            e.printStackTrace();

        }

    }

}

这个程序首先获取要读取的文件名和要查找的子串。然后它使用BufferedReader类从文件中一行一行地读取内容。每读取一行,程序会用indexOf()函数查找这行中是否包含了要查找的子串。如果包含,就将该行输出到控制台。最后关闭文件流。

总结

indexOf()函数是String类中非常实用的方法之一。这个函数可以帮助开发人员在字符串中查找子串,从而实现各种功能。在本文中,我们学习了indexOf()函数的语法和用法,并提供了一个示例程序。希望这篇文章可以对你有所帮助。