Java中检查字符串是否以特定字符结尾
作者:? 发布时间:2021-08-07 20:04:47
标签:Java,特定,字符
前言:
在日常开发中经常会遇到字符串匹配问题,我们就来学习使用Java中的一些方便快捷的方法来解决这个问题吧
使用String类
Java自带的字符串类提供了多种方法来验证一个给定的字符串是否以特定的字符串结束
endsWith()方法
endsWith()
方法就是为了解决这个问题而引入的。它提供了一个直接的方法来检查一个String对象是否以另一个字符串结尾
public static boolean isEndWith(String text, String suffix) {
if (text == null || suffix == null) {
return false;
}
return text.endsWith(suffix);
}
注意:需要确保text和suffix不为空,以避免出现空指针异常NullPointerException
matches()方法
matches()
方法也可以用来解决这个问题,它使用正则检查一个字符串是否与一个给定的正则表达式相匹配
public static boolean isEndWith(String text, String suffix) {
if (text == null || suffix == null) {
return false;
}
String regex = ".*" + suffix + "$";
return text.matches(regex);
}
这里使用了一个正则表达式来匹配我们字符串文本末尾的后缀($)。然后我们把这个正则表达式传给了matches()
方法执行进行匹配
regionMatches()
还可以使用regionMatches()
方法来解决这个问题,regionMatches()
方法用于检测两个字符串在一个区域内是否相等。
public static boolean usingStringRegionMatchesMethod(String text, String suffix) {
if (text == null || suffix == null) {
return false;
}
int toffset = text.length() - suffix.length();
return text.regionMatches(toffset, suffix, 0, suffix.length());
}
toffset表示text字符串中子区域的起始偏移量。所以为了检查text是否以suffix结束,toffset应该等于text的长度减去suffix的长度
使用Pattern类
我们还可以使用Pattern类来编译一个正则表达式,来检查text是否以suffix结束
重新使用上边使用过的正则表达式:
public static boolean usingPatternClass(String text, String suffix) {
if (text == null || suffix == null) {
return false;
}
Pattern pattern = Pattern.compile(".*" + suffix + "$");
return pattern.matcher(text).find();
}
Pattern编译了前面的正则,表示以字符串suffix结尾,并将其与我们的text相匹配
来源:https://juejin.cn/post/7105404224170623013


猜你喜欢
- 本文实例讲述了Android编程判断网络连接是否可用的方法。分享给大家供大家参考,具体如下:为了提高用户体验,我们在开发 android 应
- springboot 统一设置时区控制springboot服务的时区为东八区@SpringBootApplicationpublic cla
- 项目背景在做项目的时候,把SpringBoot的项目打包成安装包了,在客户上面安装运行,一切都是那么的完美,可是发生了意外,对方突然说导出导
- 在使用手机时,蓝牙通信给我们带来很多方便。那么在Android手机中怎样进行蓝牙开发呢?本文以实例的方式讲解Android蓝牙开发的知识。&
- import java.io.BufferedInputStream;import java.io.BufferedOutputStream
- 比如要获取打开摄像头的应用程序名称,只需要在frameworks/base/core/android/hardware/Camera.jav
- 自定义starter yaml提示失效问题问题场景在自定义starter后,必不可少会有properties配置参数需要指定,而在有时又不知
- 需求:Android调用webView加载网页的时候,拦截某一个链接不执行此链接,执行指定跳转到其他activity页面。webview的s
- 本文实例讲述了C#在运行时动态创建类型的实现方法。是C#项目开发中很实用的技巧。分享给大家供大家参考。具体分析如下:具体来说,C# 在运行时
- 作为一个合格的开发人员,对项目进行管理自然必不可少。今天就给各位看客介绍一下如何用git将自己的AS项目上传到码云。
- JNI,Java Native Interface,是 native code 的编程接口。JNI 使 Java 代码程序可以与 nativ
- 本文介绍了ListView给每个Item上面的按钮添加事件,具体如下:1.先看下效果图:在这里仅供测试,我把数据都写死了,根据需要可以自己进
- VisualVM是JDK自带的一款全能型性能监控和故障分析工具,包括对CPU使用、JVM堆内存消耗、线程、类加载的实时监控,内存dump文件
- Collections是一个工具类,sort是其中的静态方法,是用来对List类型进行排序的,它有两种参数形式: public static
- SpringBoot项目上传图片一般是上传至远程服务器存储,开发过程中可能会上传至当前项目的某个静态目录中,此时就会遇到这个问题,文件在上传
- 本篇概览在检测人脸数量、位置、性别、口罩等场景时,可以考虑使用百度开放平台提供的web接口,一个web请求就能完成检测得到结果,本篇记录了从
- Android安装apk文件并适配Android 7.0详解首先在AndroidManifest.xml文件,activity同级节点注册p
- 布隆过滤器原理很简单:就是把一个字符串哈希成一个整数key,然后选取一个很长的比特序列,开始都是0,在key把此位置的0变为1;下次进来一个
- 前言#Android 7.0已经发布很久了,虽然市场份额还不是很高,但是流行起来都是早晚的事,所以适配Android 7.0刻不容缓。And
- 一、蒙特卡洛法介绍蒙特·卡罗方法(Monte Carlo method),也称统计模拟方法,是一种以概率统计理论为基础