Java中indexOf()方法详解及其日常使用举例

 更新时间:2023年12月22日 11:22:38   作者:默 语  
这篇文章主要给大家介绍了关于Java中indexOf()方法详解及其日常使用举例的相关资料,indexOf()方法是JavaScript字符串的内置方法之一,它用于查找给定子字符串在原始字符串中第一次出现的位置,需要的朋友可以参考下

摘要:

 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()方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MyBatis一对一级联更新问题小结

    MyBatis一对一级联更新问题小结

    日常工作中经常会涉及到一对一级联更新的问题,本文主要介绍了MyBatis一对一级联更新问题小结,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • SpringBoot整合MybatisSQL过滤@Intercepts的实现

    SpringBoot整合MybatisSQL过滤@Intercepts的实现

    这篇文章主要介绍了SpringBoot整合MybatisSQL过滤@Intercepts的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Java多线程同步工具类CountDownLatch详解

    Java多线程同步工具类CountDownLatch详解

    这篇文章主要介绍了Java多线程同步工具类CountDownLatch详解,CountDownLatch是一个多线程同步工具类,在多线程环境中它允许多个线程处于等待状态,直到前面的线程执行结束
    2022-06-06
  • java实现AES可逆加密算法

    java实现AES可逆加密算法

    这篇文章主要为大家详细介绍了java实现AES可逆加密算法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • SpringDataJPA实体类关系映射配置方式

    SpringDataJPA实体类关系映射配置方式

    这篇文章主要介绍了SpringDataJPA实体类关系映射配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • 基于Java回顾之JDBC的使用详解

    基于Java回顾之JDBC的使用详解

    本篇文章是对Java中JDBC的使用进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • Spring5新功能日志框架Log4j2整合示例

    Spring5新功能日志框架Log4j2整合示例

    这篇文章主要为大家介绍了Spring5新功能之日志框架Log4j2的整合示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • SpringBoot结合JSR303对前端数据进行校验的示例代码

    SpringBoot结合JSR303对前端数据进行校验的示例代码

    这篇文章主要介绍了SpringBoot结合JSR303对前端数据进行校验的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 详解Spring中使用xml配置bean的细节

    详解Spring中使用xml配置bean的细节

    本篇文章主要介绍了Spring中使用xml配置bean的细节,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • 深入理解Java中的IOUtils(示例演示)

    深入理解Java中的IOUtils(示例演示)

    Java中的IOUtils是一个工具类,用于简化文件和流的操作,它提供了一些常用的方法,如复制文件、读取文件、写入文件等,这篇文章主要介绍了深入理解Java中的IOUtils(示例演示),需要的朋友可以参考下
    2023-08-08

最新评论