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中IdType.AUTO局部配置不生效的问题解决
本文主要介绍了Mybatis-Plus中IdType.AUTO局部配置不生效的问题解决,数据库插入数据时,id的默认生成方式还是雪花算法,局部配置没有生效,下面就来解决一下,感兴趣的可以了解一下2023-09-09Java中@DS+@Transactional注解切换数据源失效解决方案
本文主要介绍了@DS+@Transactional注解切换数据源失效解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-06-06Lombok 的@StandardException注解解析
@StandardException 是一个实验性的注解,添加到 Project Lombok 的 v__1.18.22 版本中,在本教程中,我们将使用 Lombok 的 @StandardException 注解自动生成异常类型类的构造函数,需要的朋友可以参考下2023-05-05ConstraintValidator类如何实现自定义注解校验前端传参
这篇文章主要介绍了ConstraintValidator类实现自定义注解校验前端传参的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-06-06
最新评论