【Java教程】检查字符串是否以特定字符结尾详解

零 Java教程评论68字数 1435阅读4分47秒阅读模式

所需工具:

Java

聪明的大脑文章源自灵鲨社区-https://www.0s52.com/bcjc/javajc/12329.html

勤劳的双手文章源自灵鲨社区-https://www.0s52.com/bcjc/javajc/12329.html

 文章源自灵鲨社区-https://www.0s52.com/bcjc/javajc/12329.html

注意:本站只提供教程,不提供任何成品+工具+软件链接,仅限用于学习和研究,禁止商业用途,未经允许禁止转载/分享等文章源自灵鲨社区-https://www.0s52.com/bcjc/javajc/12329.html

 文章源自灵鲨社区-https://www.0s52.com/bcjc/javajc/12329.html

教程如下

前言:文章源自灵鲨社区-https://www.0s52.com/bcjc/javajc/12329.html

在日常开发中经常会遇到字符串匹配问题,我们就来学习使用java中的一些方便快捷的方法来解决这个问题吧文章源自灵鲨社区-https://www.0s52.com/bcjc/javajc/12329.html

使用String类

Java自带的字符串类提供了多种方法来验证一个给定的字符串是否以特定的字符串结束文章源自灵鲨社区-https://www.0s52.com/bcjc/javajc/12329.html

endsWith()方法

endsWith()方法就是为了解决这个问题而引入的。它提供了一个直接的方法来检查一个String对象是否以另一个字符串结尾文章源自灵鲨社区-https://www.0s52.com/bcjc/javajc/12329.html

[php]
public static boolean isEndWith(String text, String suffix) {
if (text == null || suffix == null) {
return false;
}
return text.endsWith(suffix);
}
[/php]文章源自灵鲨社区-https://www.0s52.com/bcjc/javajc/12329.html

注意:需要确保text和suffix不为空,以避免出现空指针异常NullPointerException

matches()方法

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

[php]
public static boolean isEndWith(String text, String suffix) {
if (text == null || suffix == null) {
return false;
}
String regex = ".*" + suffix + "$";
return text.matches(regex);
}
[/php]

这里使用了一个正则表达式来匹配我们字符串文本末尾的后缀($)。然后我们把这个正则表达式传给了matches()方法执行进行匹配

regionMatches()

还可以使用regionMatches()方法来解决这个问题,regionMatches() 方法用于检测两个字符串在一个区域内是否相等。

[php]
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());
}
[/php]

toffset表示text字符串中子区域的起始偏移量。所以为了检查text是否以suffix结束,toffset应该等于text的长度减去suffix的长度

使用Pattern类

我们还可以使用Pattern类来编译一个正则表达式,来检查text是否以suffix结束

重新使用上边使用过的正则表达式:

[php]
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();
}
[/php]

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

零
  • 转载请务必保留本文链接:https://www.0s52.com/bcjc/javajc/12329.html
    本社区资源仅供用于学习和交流,请勿用于商业用途
    未经允许不得进行转载/复制/分享

发表评论