Java字符串查找的三种方式
作者:彬菌 发布时间:2023-11-18 22:00:30
标签:Java,字符串查找
indexof方法:
注解:indexOf 方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串,则返回-1。
public class IndexOf{
public static void main(String[] args){
String s="李宏#王海#林巧#陆寻#唐梅";
String q="#"; //需要查找的字符串
String err="*"; //不存在的字符串
int i=0;
for(int j=0;j<s.length();j++){ //循环所有字符串
String get=s.substring(j,j+1); //打印所有字符串
if(get.equals(q)){ //判断#字是否出现
i++; //#字出现次数
}
}
System.out.println("总共有"+s.length()+"个字符串");
System.out.println("#字共出现了"+i+"次"); //#字符总共出现的次数
System.out.println("第一个#字出现在字符串的"+s.indexOf(q)+"个位置");
if(s.indexOf(err)==-1){ //返回-1则表示字符不存在字符串中
System.out.println("*字在字符串中不存在");
}
}
}
运行结果:
总共有14个字符串
#字共出现了4次
第一个#字出现在字符串的2个位置
*字在字符串中不存在
startsWith方法:
注解:startsWith() 方法用于检测字符串是否以指定的前缀开始。
public class StartWith{
public static void main(String[] args){
String id[]= {"53011198902280308","52011198711038269","53011197701328291"};
int number = 0;
System.out.println("符合条件的字符串有");
for(int i=0;i<id.length;i++) {
if(id[i].startsWith("530") == true) {
number++;
System.out.println(id[i]);
}
}
System.out.println("前面3个字符为‘530'的身份证有:"+number+"个");
}
}
运行结果:
符合条件的字符串有
53011198902280308
53011197701328291
前面3个字符为‘530'的身份证有:2个
regionMatches方法:
注解:regionMatches() 方法用于检测两个字符串在一个区域内是否相等。
public class RegionMatches{
public static void main(String[] args) {
int number = 0;
String s = "student;entropy;ENgage,English,client,eye";
String q="en"; //需要查找的字符串
for (int k=0;k<s.length();k++){
//true为不区分大小写,k为所有字符串,q为需要查找的字符串,0为从字符串1的位置开始,2为需要查找的字符串长度为2
if(s.regionMatches(true, k, q, 0, 2)){
number++;
System.out.println("en字符在字符串的第"+k+"个位置");
}
}
System.out.println("含有‘en'子串的字符串的总数有:"+number);
}
}
运行结果:
en字符在字符串的第4个位置
en字符在字符串的第8个位置
en字符在字符串的第16个位置
en字符在字符串的第23个位置
en字符在字符串的第34个位置
含有‘en'子串的字符串的总数有:5
来源:https://www.idaobin.com/archives/387.html
0
投稿
猜你喜欢
- StringRedisTemplate与RedisTemplate区别点两者的关系是StringRedisTemplate继承RedisTe
- 目录说明使用常见问题No such instance field: 'logger2'说明logback作为log4j的替代
- 我们先来看本地如何生成图片验证码的,再来写输出到网页的验证码如何实现。先来看最简单的—实现的功能是,将一个字符串变成图片写入到文件中实现代码
- Spring * 监测每个Controller或方法的执行时长首先写一个类(TestInterceptor)让他继承HandlerInter
- spinner组件有点类型于HTML中的下拉框<Select></select>的样子,让用户每次从下拉框中选取一个
- 目录为了实现用户登录拦截你是否写过如下代码呢?1. 基于Filter2. 基于Struts3. 基于SpringMVC如何使用自定义注解完成
- 目录1、GC(Garbage collection )2、GC算法2.1标记活动对象2.2 删除空闲对象2.3 标记清除(Mark-Swee
- 前言在web开发过程中涉及到表格时,例如dataTable,就会产生分页的需求,通常我们将分页方式分为两种:前端分页和后端分页。前端分页一次
- 在使用fastJson时,对于泛型的反序列化很多场景下都会使用到TypeReference,例如:void testTypeReferenc
- 一、AXIS调用远程WebService,以国内手机号归属地查询为例 1、wsdl地址:http://ws.webxml.com.
- 一、代码先上代码(以下这段代码会有多种执行结果)@Testpublic void test_interrupted_thread() thr
- Java.lang 中自带的注解@Override:表示当前的方法定义将覆盖基类的方法。如果你不小心拼写错误,或者方法签名被错误拼写的时候,
- Java xml出现错误 javax.xml.transform.TransformerException: java.lang.NullP
- 1集合的概念把集合看做是一个容器,集合不是一个类,是一套集合框架,框架体系包含很多的集合类,java api提供了集合存储任意类型(基本包装
- 1. 为什么写这篇文章?事情是这样的,在 2021年6月10日早上我在CSDN上发布了文章《你真的懂Java怎么输出Hello World吗
- 一、创建支付宝沙箱跳转 : 支付宝沙箱平台1、进入控制台2、创建小程序,编写名称和绑定商家即可3、返回第一个页面,往下滑进入沙箱4、进行相关
- 首先是创建redis-cluster文件夹:因为redis最少需要6个节点(三主三从),为了更好的理解,我这里创建了两台虚拟机(192.16
- 1、抽象类 vs 接口 方法类型: 接口只能有抽象方法。抽象类可以有抽象和非抽象方法。从 Java 8 开始,它也可以有默认和静态
- 表:需求:将表中的数据,按照一级二级分类返回给前端json数据代码实现:java代码: public class ResultIndustr
- 引言用过Spring Cloud的同学都知道在使用动态配置刷新的我们要配置一个 @RefreshScope,在类上才可以实现对象属性的的动态