Java中检查字符串是否以特定字符结尾(java判断字符串包含某个字符串)

网友投稿 996 2022-07-26


目录使用String类endsWith()方法matches()方法regionMatches()使用Pattern类

前言:

在日常开发中经常会遇到字符串匹配问题,我们就来学习使用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()方法

matchttp://hes()方法也可以用来解决这个问题,它使用正则检查一个字符串是否与一个给定的正则表达式相匹配

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.matcherFbwejbY(text).find();

}

Pattern编译了前面的正则,表示以字符串suffix结尾,并将其与我们的text相匹配


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java数据结构与算法数组模拟队列示例详解(编写实现队列的例程,使用数组)
下一篇:java数据结构算法稀疏数组示例详解(什么是稀疏数组)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~