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

相关文章

  • MyBatis-Plus之逻辑删除的实现

    MyBatis-Plus之逻辑删除的实现

    这篇文章主要介绍了MyBatis-Plus之逻辑删除的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Java字节码的增强技术

    Java字节码的增强技术

    这篇文章简单介绍了几种Java字节码的增强技术,如ASM、Javassist、Byte Buddy、JVM-SANDBOX,需要的朋友可以参下面文章
    2021-08-08
  • SpringBoot Swagger2 接口规范示例详解

    SpringBoot Swagger2 接口规范示例详解

    Swagger(在谷歌、IBM、微软等公司的支持下)做了一个公共的文档风格来填补上述问题,在本文中,我们将会学习怎么使用Swagger的 Swagger2注解去生成REST API文档,感兴趣的朋友一起看看吧
    2023-12-12
  • Spring Boot 验证码框架 CAPTCHA详解

    Spring Boot 验证码框架 CAPTCHA详解

    这篇文章主要介绍了Spring Boot 验证码框架 CAPTCHA详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • 常用java正则表达式的工具类

    常用java正则表达式的工具类

    这篇文章主要为大家详细介绍了常用java正则表达式的工具类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • springboot结合websocket聊天室实现私聊+群聊

    springboot结合websocket聊天室实现私聊+群聊

    本文主要介绍了springboot结合websocket聊天室实现私聊+群聊,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • java中的Serializable、transient关键字详解

    java中的Serializable、transient关键字详解

    这篇文章主要介绍了java中的Serializable、transient关键字详解,序列化只会保存属性值,不会保存方法,通过反序列化可以把序列化后的内容恢复成对象,需要的朋友可以参考下
    2023-09-09
  • mybatis-plus复合主键的使用

    mybatis-plus复合主键的使用

    本文主要介绍了mybatis-plus复合主键的使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Java如何获取当前年份、月份和日期字符串

    Java如何获取当前年份、月份和日期字符串

    Java获取当前年份、月份和日期是通过Calendar类的实例对象来获取的,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-03-03
  • JAVA8独有的map遍历方式(非常好用)

    JAVA8独有的map遍历方式(非常好用)

    这篇文章主要介绍了JAVA8独有的map遍历方式(非常好用),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12

最新评论