Java字符串查找的方法总结

 更新时间:2024年05月06日 10:50:52   作者:Itmastergo  
在给定的字符串中查找字符或字符串是比较常见的操作,字符串查找分为两种形式:一种是在字符串中获取匹配字符(串)的索引值,另一种是在字符串中获取指定索引位置的字符,本文给大家总结了Java字符串查找的方法,需要的朋友可以参考下

引言

在给定的字符串中查找字符或字符串是比较常见的操作。字符串查找分为两种形式:一种是在字符串中获取匹配字符(串)的索引值,另一种是在字符串中获取指定索引位置的字符。

根据字符查找

String 类的 indexOf() 方法和 lastlndexOf() 方法用于在字符串中获取匹配字符(串)的索引值。

1. indexOf() 方法

indexOf() 方法用于返回字符(串)在指定字符串中首次出现的索引位置,如果能找到,则返回索引值,否则返回 -1。该方法主要有两种重载形式:

str.indexOf(value)
str.indexOf(value,int fromIndex)

其中,str 表示指定字符串;value 表示待查找的字符(串);fromIndex 表示查找时的起始索引,如果不指定 fromIndex,则默认从指定字符串中的开始位置(即 fromIndex 默认为 0)开始查找。

例如,下列代码在字符串“Hello Java”中查找字母 v 的索引位置。

String s = "Hello Java";
int size = s.indexOf('v');    // size的结果为8

上述代码执行后 size 的结果为 8,它的查找过程如下图所示。

例 1

编写一个简单的 Java 程序,演示 indexOf() 方法查找字符串的用法,并输出结果。代码如下:

public static void main(String[] args) {
    String words = "today,monday,sunday";
    System.out.println("原始字符串是'"+words+"'");
    System.out.println("indexOf(\"day\")结果:"+words.indexOf("day"));
    System.out.println("indexOf(\"day\",5)结果:"+words.indexOf("day",5));
    System.out.println("indexOf(\"o\")结果:"+words.indexOf("o"));
    System.out.println("indexOf(\"o\",6)结果:"+words.indexOf("o",6));
}

运行后的输出结果如下:

原始字符串是'today,monday,sunday'
indexOf("day")结果:2
indexOf("day",5)结果:9
indexOf("o")结果:1
indexOf("o",6)结果:7

2. lastlndexOf() 方法

lastIndexOf() 方法用于返回字符(串)在指定字符串中最后一次出现的索引位置,如果能找到则返回索引值,否则返回 -1。该方法也有两种重载形式:

str.lastIndexOf(value)
str.lastlndexOf(value, int fromIndex)

注意:lastIndexOf() 方法的查找策略是从右往左查找,如果不指定起始索引,则默认从字符串的末尾开始查找。

例 2

编写一个简单的 Java 程序,演示 lastIndexOf() 方法查找字符串的用法,并输出结果。代码如下:

public static void main(String[] args) {
    String words="today,monday,Sunday";
    System.out.println("原始字符串是'"+words+"'");
    System.out.println("lastIndexOf(\"day\")结果:"+words.lastIndexOf("day"));
    System.out.println("lastIndexOf(\"day\",5)结果:"+words.lastIndexOf("day",5));
    System.out.println("lastIndexOf(\"o\")结果:"+words.lastIndexOf("o"));
    System.out.println("lastlndexOf(\"o\",6)结果:"+words.lastIndexOf("o",6));
}

运行后的输出结果如下:

原始字符串是'today,monday,Sunday'
lastIndexOf("day")结果:16
lastIndexOf("day",5)结果:2
lastIndexOf("o")结果:7
lastlndexOf("o",6)结果:1

根据索引查找

String 类的 charAt() 方法可以在字符串内根据指定的索引查找字符,该方法的语法形式如下:

字符串名.charAt(索引值)

提示:字符串本质上是字符数组,因此它也有索引,索引从零开始。

charAt() 方法的使用示例如下:

String words = "today,monday,sunday";
System.out.println(words.charAt(0));    // 结果:t
System.out.println(words.charAt(1));    // 结果:o
System.out.println(words.charAt(8));    // 结果:n

到此这篇关于Java字符串查找的方法总结的文章就介绍到这了,更多相关Java字符串查找内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java发起http请求的完整步骤记录

    Java发起http请求的完整步骤记录

    这篇文章主要给大家介绍了关于Java发起http请求的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • Java中ArrayList与顺序表示例详解

    Java中ArrayList与顺序表示例详解

    顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构,这篇文章主要介绍了Java中ArrayList与顺序表的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-12-12
  • Java获得当前时间前指定几个小时具体时间的方法示例

    Java获得当前时间前指定几个小时具体时间的方法示例

    这篇文章主要介绍了Java获得当前时间前指定几个小时具体时间的方法,涉及java使用Calendar针对日期时间的相关运算与转换操作技巧,需要的朋友可以参考下
    2017-08-08
  • 详解MybatisPlus3.4版本之后分页插件的使用

    详解MybatisPlus3.4版本之后分页插件的使用

    从Mybatis Plus 3.4.0版本开始,不再使用旧版本的PaginationInterceptor ,而是使用MybatisPlusInterceptor。本文就详细的介绍一下两者的区别,感兴趣的可以了解一下
    2021-11-11
  • JAVA IDEA项目打包为jar包的步骤详解

    JAVA IDEA项目打包为jar包的步骤详解

    在Java开发中我们通常会将我们的项目打包成可执行的Jar包,以便于在其他环境中部署和运行,下面这篇文章主要给大家介绍了关于JAVA IDEA项目打包为jar包的相关资料,需要的朋友可以参考下
    2024-08-08
  • 从入门到精通详解Java Apache POI操作Excel的实战教程

    从入门到精通详解Java Apache POI操作Excel的实战教程

    在Java开发中,Excel文件处理是一项常见且重要的技能,Apache POI作为Java操作Excel的经典库,提供了强大的API支持,本文从基础IO流操作Excel的局限性入手,本文详细介绍了Apache POI的核心概念,依赖配置,以及实战案例
    2026-05-05
  • 详解Idea中HTTP Client请求测试工具的使用

    详解Idea中HTTP Client请求测试工具的使用

    今天抽空给大家分享Idea中HTTP Client请求测试工具的使用,小编在这建议使用HTTP Client的Idea版本最好在2018以上,不然的话体验不是多好,今天就给大家介绍Idea中HTTP Client怎么使用的,感兴趣的朋友跟随小编一起看看吧
    2021-05-05
  • java8 Stream list to Map key 重复 value合并到Collectio的操作

    java8 Stream list to Map key 重复 value合并到Collectio的操作

    这篇文章主要介绍了java8 Stream list to Map key 重复 value合并到Collectio的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • SpringSecurity 测试实战

    SpringSecurity 测试实战

    这篇文章主要介绍了SpringSecurity 测试实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Spring中的refresh方法分析

    Spring中的refresh方法分析

    这篇文章主要介绍了Spring中的refresh方法分析,文章围绕主题展开详细的refresh方法相关资料介绍,需要的小伙伴可以参考一下
    2022-05-05

最新评论