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相匹配
到此这篇关于Java中检查字符串是否以特定字符结尾的文章就介绍到这了,更多相关Java特定字符内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
springBoot静态资源加载不到,并且配置了也不生效问题及解决
这篇文章总结了一个在Spring Boot 2.6.x版本中,由于路径匹配策略改变导致静态资源无法加载的问题,并提供了解决方案:通过配置类或在配置文件中设置路径匹配策略为AntPathMatcher,或者直接降级Spring Boot版本2025-02-02
关于Java中@SuppressWarnings的正确使用方法
这篇文章主要介绍了关于Java中@SuppressWarnings的正确使用方法,@SuppressWarnings注解主要用在取消一些编译器产生的警告对代码左侧行列的遮挡,有时候这会挡住我们断点调试时打的断点,需要的朋友可以参考下2023-05-05


最新评论