java查找字符的方法_Java字符串查找(3种方法)
在给定的字符串中查找字符或字符串是比较常见的操作。字符串查找分为两种形式:一种是在字符串中获取匹配字符(串)的索引值,另一种是在字符串中获取指定索引位置的字符。
根据字符查找
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() 方法查找字符过程
例 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
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/234255.html原文链接:https://javaforall.cn
相关文章
- Java进阶(二十三)java中long类型转换为int类型
- Java分布式锁(6种实现方法)
- java数组的声明_Java数组定义常用方法[通俗易懂]
- java运行环境_如何搭建Java运行环境?
- java获取服务器路径_JAVA获取服务器路径的方法「建议收藏」
- java获取服务器路径_Java获取此次请求URL以及服务器根路径的方法「建议收藏」
- java 随机数算法_Java随机数算法原理与实现方法实例详解
- Java cast_java concat方法
- Java 8 的 java.util.function.* POJO 的反射新方法
- JAVA遍历数组的三种方法_如何遍历一个数组
- java分割字符串的方法_java字符串按照特定字符分割
- 【错误记录】生成 Java 文档错误 ( Xxx.java:xx: 错误: 编码GBK的不可映射字符 )
- Java读取Properties文件的六种方法详解编程语言
- java JNI: C 语言调用 Java 方法示例详解编程语言
- Java toCharArray()方法:将字符串转换成一个字符数组
- 进程比较Java与Linux进程的异同(java进程linux)
- 处理表题:基于Redis与Java的过期处理方法研究(redisjava过期)
- 运行Linux中定时运行Java程序的实用方法(linux定时java)
- Linux系统中下载Java的方法(linux下java下载)
- Java和Redis的配合安装方法(java redis安装)
- 使用Java连接MySQL数据库的具体操作方法(java连接mysql代码)
- java中删除数组中重复元素方法探讨
- java使用JNA(JavaNativeAccess)调用dll的方法
- Java读取邮件的方法