Java查找字符串(indexOf()、lastlndexOf()和charAt())
JAVA 字符串 查找 indexOf
2023-06-13 09:12:01 时间
字符串查找分为两种形式:一种是在字符串中获取匹配字符(串)的索引值,另一种是在字符串中获取指定索引位置的字符。
根据字符查找
图1 indexOf() 方法查找字符过程
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 所示。
图1 indexOf() 方法查找字符过程
编写一个简单的 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)结果:72. lastlndexOf() 方法
lastIndexOf() 方法用于返回字符(串)在指定字符串中最后一次出现的索引位置,如果能找到则返回索引值,否则返回 -1。该方法也有两种重载形式:
str.lastIndexOf(value) str.lastlndexOf(value, int fromIndex)
注意:lastIndexOf() 方法的查找策略是从右往左查找,如果不指定起始索引,则默认从字符串的末尾开始查找。
编写一个简单的 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
23174.html
javaSTL相关文章
- java字符串的拆分_Java中的字符串分割 .
- java long string 转换_Java long 转成 String的实现[通俗易懂]
- java和前端哪个好学_java和前端哪个难学?「建议收藏」
- java webservice 实例_Java WebService 简单实例(附实例代码)
- Java在字符串中查找匹配的子字符串
- Java——方法递归及其应用场景(求1!+2!+3!+......n!,斐波那契数列)
- java字符串转换为json对象6_Json对象与Json字符串的转化、JSON字符串与Java对象的转换…
- java字符串练习题2、反向输出英文字符串
- 【错误记录】Java AWT 图形界面编程报错 ( Exception in thread “main“ java.awt.AWTError: BoxLayout can‘t be shared )
- Java学习笔记之六java三种循环(for,while,do……while)的使用方法及区别详解编程语言
- 用字符串模拟两个大数相加——java实现详解编程语言
- Oracle 视图 DBA_JAVA_POLICY 官方解释,作用,如何使用详细说明
- 数据清理Java Redis实现过期数据清理(redisjava过期)
- Java NIO:NIO概述详解编程语言
- 如何在Java代码中检查字符串中是否包含中文?
- 使用Redis优化Java开发的关键技巧(redis与java开发)
- Java驾驭MySQL,读写如飞(java读写mysql)
- 缓存使用Redis让Java代码更加迅速缓存设置(redis设置java)
- java字符串拼接与性能分析详解