Java中indexOf()方法详解及其日常使用举例
作者:默 语
摘要:
indexOf()
方法用于在字符串中查找指定子串,并返回第一个匹配项的索引。Java 提供了四种常用的查找方法,分别是 indexOf(String str)
、indexOf(String str, int startIndex)
、lastIndexOf(String str)
、lastIndexOf(String str, int startIndex)
。
Demo 理解:
上面的示例代码展示了在字符串中使用 indexOf()
方法进行查找的示例。通过设置不同的起始位置,可以灵活地定位子串。
Java 中的 indexOf() 方法: 👀
indexOf()
方法用于在字符串中查找指定子串,并返回第一个匹配项的索引。它从指定的字符位置开始搜索,检查指定数量的字符位置。
在 Java 中,共有四种常用的查找方法:
int indexOf(String str)
: 返回第一次出现的指定子字符串在此字符串中的索引。int indexOf(String str, int startIndex)
: 从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。int lastIndexOf(String str)
: 返回在此字符串中最右边出现的指定子字符串的索引。int lastIndexOf(String str, int startIndex)
:此方法接收两个参数,第一个参数是要查找的子字符串str
,第二个参数是开始搜索的索引位置startIndex
。它会从指定的索引位置向后搜索,并返回最后一次出现指定子字符串的索引位置。如果在指定的索引位置之后没有找到子字符串,则返回 -1。如果子字符串为空字符串或者搜索索引超出了字符串的长度,则返回字符串的长度。
以下是一个示例代码:
String str = "Hello, World!"; int index = str.lastIndexOf("o", 7); System.out.println(index); // 输出4
在以上示例代码中,我们首先创建了一个字符串 str
,然后调用了 lastIndexOf
方法来查找最后一次出现字符 o
的位置,在字符串 str
中从索引 0 到索引 7 的范围内进行查找,即 "Hello, ",结果为 4。
indexOf
使用示例:
package com.example.democrud.democurd.controller; public class IndexOfExample { public static void main(String[] args) { String s = "yanwenchaoyan"; // 从头开始查找是否存在指定的字符 // 不存在则返回 -1, 存在则返回对应的下标位置 int le = s.indexOf("l"); int les = s.indexOf("n"); System.out.println("yanwenchao 的不存在则为:" + le); System.out.println("yanwenchao 的存在的下标为:" + les); System.out.println("---------------------------------------"); // 从第四个字符位置开始往后继续查找,包含当前位置,前面的就过滤掉 int i = s.indexOf("y", 3); System.out.println("yanwenchao 的下标位置是:" + i); System.out.println("---------------------------------------"); String s1 = "01234560123456"; int ls = s1.indexOf("123"); int lss = s1.lastIndexOf("123"); //反方向 int lsss = s1.lastIndexOf("123", 4); System.out.println("下标地址:" + ls); System.out.println("下标地址:" + lss); System.out.println("下标地址:" + lsss); System.out.println("---------------------------------------"); } }
运行结果:
yanwenchao 的不存在则为:-1
yanwenchao 的存在的下标为:2
---------------------------------------
yanwenchao 的下标位置是:10
---------------------------------------
下标地址:1
下标地址:8
下标地址:1
---------------------------------------
注意:指定了索引位置之后,将从指定索引位置开始进行查询,返回相应的下标值。例如,如果搜索字符 “y”,则返回字符 “y” 第一次出现的位置。
获取动态数组元素的索引:
如果我们想获得最后一次出现 “Runoob” 的位置,我们可以使用 lastIndexOf()
方法。
public static void main(String[] args){ // 创建一个数组 ArrayList<String> sites = new ArrayList<>(); sites.add("Google"); sites.add("Runoob"); sites.add("Taobao"); System.out.println("网站列表: " + sites); // 查找位置索引值为 "Runoob" 的元素 // 如果存在,则返回对应的下标位置(下标从 0 开始) // 例如:Google 对应下标 0, Runoob 对应下标 1, Taobao 对应下标 2 // 所以返回 1 int position1 = sites.indexOf("Runoob"); System.out.println("Runoob 的索引位置: " + position1); // 查找位置索引值为 "Weibo" 的元素 // 不存在,则返回 -1 int position2 = sites.indexOf("Weibo"); System.out.println("Weibo 的索引位置: " + position2); }
运行结果:
网站列表: [Google, Runoob, Taobao]
Runoob 的索引位置: 1
Weibo 的索引位置: -1
lastIndexOf 方法
lastIndexOf()
方法返回指定元素在动态数组中最后一次出现的位置。
public static void main(String[] args){ // 创建一个数组 ArrayList<String> sites = new ArrayList<>(); // "Runoob" 存在两次,下面代码会得到最后一次出现的位置 sites.add("Google"); sites.add("Runoob"); sites.add("Taobao"); sites.add("Runoob"); System.out.println("网站列表: " + sites); // 获取 "Runoob" 最后一次出现的位置 int position1 = sites.lastIndexOf("Runoob"); System.out.println("Runoob 最后出现的位置: " + position1); // "Wiki" 不在数组中,返回 -1 int position2 = sites.lastIndexOf("Wiki"); System.out.println("Wiki 最后出现的位置: " + position2); }
总结:
Java中的indexOf()
方法是用于在字符串中查找指定子串的常用方法。主要有以下几个用法:
int indexOf(String str)
:从头开始查找指定子串在字符串中第一次出现的位置,返回相应的索引值。int indexOf(String str, int startIndex)
:从指定的索引位置开始往后查找,返回第一次出现的位置。int lastIndexOf(String str)
:返回指定子字符串在字符串中最后一次出现的位置。int lastIndexOf(String str, int startIndex)
:从指定的索引位置开始反向查找,返回最后一次出现的位置。
在使用这些方法时,需要注意:
- 如果找到指定子串,返回对应的索引位置(索引从0开始)。
- 如果未找到指定子串,返回-1。
此外,指定了索引位置后,从该位置开始进行查找。如果子串为空字符串或搜索索引超出了字符串的长度,将返回相应的长度值。
indexOf()
方法在字符串操作中非常实用,可以帮助定位特定字符或子串的位置,为进一步的处理提供了便利。
到此这篇关于Java中indexOf()方法详解及其日常使用举例的文章就介绍到这了,更多相关Java indexOf()方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!