首页 > 编程笔记 > Java笔记 阅读:16

Java indexof()和lastIndexOf()的用法(附带实例)

在给定的字符串中查找字符或字符串是比较常见的操作。Java 的 String 类中提供了 indexOf() 和 lastIndexOf() 方法用于查找字符或字符串,返回值是查找的字符或字符串所在的位置,-1表示没有找到。这两个方法有多个重载版本。

indexOf() 方法从前往后查找字符串,调用格式和对应的功能如下表所示。

语法格式 功能
int indexOf(int ch) 从前往后搜索字符 ch,返回第一次找到字符 ch 所在处的索引。
int indexOf(int ch, int fromIndex) 从指定的索引开始从前往后搜索字符ch,返回第一次找到字符 ch 所在处的索引。
int indexOf(String str) 从前往后搜索字符串 str,返回第一次找到字符串str所在处的索引。
int indexOf(String str, int fromIndex) 从指定的索引开始从前往后搜索字符串 str,返回第一次找到字符串 str 所在处的索引。

lastIndexOf() 方法从后往前查找字符串,调用格式和对应的功能如下表所示。

语法格式 功能
int lastIndexOf(int ch) 从后往前搜索字符 ch,返回第一次找到字符 ch 所在处的索引。
int lastIndexOf(int ch, int fromIndex) 从指定的索引开始从后往前搜索字符 ch,返回第一次找到字符 ch 所在处的索引。
int lastIndexOf(String str) 从后往前搜索字符串 str,返回第一次找到字符串 str 所在处的索引。
int lastIndexOf(String str, int fromIndex) 从指定的索引开始从后往前搜索字符串 str,返回第一次找到字符串 str 所在处的索引。

字符串本质上是字符数组,因此它也有索引,索引从零开始。String 的 charAt(int index) 方法可以返回索引 index 所在位置的字符。

字符串查找示例代码如下:
public class StringSearchExample {
    public static void main(String[] args) {
        String str = "你好,世界!这是一个用于字符串查找的示例。";
        String target1 = "世界";
        String target2 = "示例";
        String target3 = "Java";

        // 使用 indexOf() 方法查找子字符串在原字符串中的位置
        int index1 = str.indexOf(target1);
        int index2 = str.indexOf(target2);
        int index3 = str.indexOf(target3);

        if (index1 != -1) {
            System.out.println("目标 '" + target1 + "' 在字符串中的位置: " + index1);
        } else {
            System.out.println("目标 '" + target1 + "' 未找到。");
        }

        if (index2 != -1) {
            System.out.println("目标 '" + target2 + "' 在字符串中的位置: " + index2);
        } else {
            System.out.println("目标 '" + target2 + "' 未找到。");
        }

        if (index3 != -1) {
            System.out.println("目标 '" + target3 + "' 在字符串中的位置: " + index3);
        } else {
            System.out.println("目标 '" + target3 + "' 未找到。");
        }
    }
}
上述代码执行结果如下所示:
目标 '世界' 在字符串中的位置: 3
目标 '示例' 在字符串中的位置: 18
目标 'Java' 未找到。

相关文章