Java indexof()和lastIndexOf()的用法(附带实例)
在给定的字符串中查找字符或字符串是比较常见的操作。Java 的 String 类中提供了 indexOf() 和 lastIndexOf() 方法用于查找字符或字符串,返回值是查找的字符或字符串所在的位置,-1表示没有找到。这两个方法有多个重载版本。
indexOf() 方法从前往后查找字符串,调用格式和对应的功能如下表所示。
lastIndexOf() 方法从后往前查找字符串,调用格式和对应的功能如下表所示。
字符串本质上是字符数组,因此它也有索引,索引从零开始。String 的 charAt(int index) 方法可以返回索引 index 所在位置的字符。
字符串查找示例代码如下:
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' 未找到。