Java字符串查找的方法总结

Itmastergo 2024-05-06 18:08:26编程技术
188

引言

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

根据字符查找

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,它的查找过程如下图所示。

Java字符串查找.jpg

例 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 字符串
THE END
ZhanShen
把烦恼扔进夕阳里,和星星一起沉沦。

相关推荐

Java开发中@PostConstruct 注解使用方法及示例代码详解
在Java企业级开发中,@PostConstruct注解是管理Bean生命周期的核心工具之一。它标记的方法会在依赖注入完成后自动执行,常用于初始化资源、预加载数据等场景。本文ZHANID工具...
2025-05-12 编程技术
201

java报错java.net.SocketException: Connection reset
在Java网络编程中,java.net.SocketException: Connection reset是一个常见且棘手的异常。它通常表示对端主动关闭了连接,或网络链路中断了TCP会话。本文ZHANID工具网将深入分...
2025-05-07 编程技术
253

Java中double数值保留两位小数的5种实现方法详解
在Java开发中,处理浮点数的精度和格式化是常见需求。本文ZHANID工具网将详细解析double类型数值保留两位小数的5种主流实现方法,涵盖格式化输出、数学计算、高精度处理等场景...
2025-05-07 编程技术
245

java实现BASE64加密/解密详解(附带源码)
这篇文章主要介绍了java中BASE64加密/解密的相关资料,并详细展示了如何在Java中使用内置的Base64类进行编码和解码,文章还涵盖不同类型的Base64编码及其应用场景,需要的朋友可...
2025-05-07 编程技术
227

JavaScript框架网站注定SEO弱势?突破SPA优化的5大生死关
当React、Vue、Angular等框架以动态交互能力重塑用户体验时,搜索引擎爬虫却因难以解析JavaScript渲染内容而陷入索引困境。本文站长工具网将深入剖析JavaScript框架网站的SEO...
2025-05-02 站长之家
269

将Java应用做成exe可执行软件的流程步骤
这篇文章主要介绍了如何将Java程序打包成可执行的exe文件,通过配置Maven、编写批处理文件、使用Bat_To_Exe_Converter工具将批处理文件转换为exe文件,实现双击启动的效果,感兴...
2025-05-01 编程技术
243