Java中检查字符串是否以特定字符结尾

 更新时间:2022年06月06日 09:44:09   作者:​ HooW   ​  
这篇文章主要介绍了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特定字符内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 读取xml文件中的配置参数实例

    读取xml文件中的配置参数实例

    下面小编就为大家带来一篇读取xml文件中的配置参数实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • Java关键字finally_动力节点Java学院整理

    Java关键字finally_动力节点Java学院整理

    java关键字finally不管是否出现异常,finally子句总是在块完成之前执行。下面通过实现代码给大家介绍Java关键字finally相关知识,需要的的朋友参考下吧
    2017-04-04
  • Kylin对接JDBC集成Zepplin的实现方法

    Kylin对接JDBC集成Zepplin的实现方法

    Zepplin是一个非常好用的编辑器工具,通过自定义编码可以实现更多的业务逻辑,接下来通过本文给大家分享Kylin对接JDBC和Zepplin的操作代码,感兴趣的朋友跟随小编一起看看吧
    2021-05-05
  • Spring基于注解整合Redis完整实例

    Spring基于注解整合Redis完整实例

    这篇文章主要介绍了Spring基于注解整合Redis完整实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-04-04
  • 如何通过XML方式配置并实现Mybatis

    如何通过XML方式配置并实现Mybatis

    这篇文章主要介绍了如何通过XML方式配置并实现Mybatis,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • java实现FTP文件上传与文件下载

    java实现FTP文件上传与文件下载

    这篇文章主要为大家详细介绍了java实现FTP文件上传与文件下载的相关资料,通过以下两种方式实现,通过JDK自带的API实现,二是通过Apache提供的API是实现,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • Java 方法(方法的定义,可变参数,参数的传递问题,方法重载,方法签名)

    Java 方法(方法的定义,可变参数,参数的传递问题,方法重载,方法签名)

    这篇文章主要介绍了Java 方法(方法的定义,可变参数,参数的传递问题,方法重载,方法签名),文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下
    2022-09-09
  • SpringBoot实现接口返回数据脱敏的代码示例

    SpringBoot实现接口返回数据脱敏的代码示例

    在当今的信息化时代,数据安全尤为重要,接口返回数据脱敏是一种重要的数据保护手段,可以防止敏感信息通过接口返回给客户端,本文旨在探讨如何在SpringBoot应用程序中实现接口返回数据脱敏,需要的朋友可以参考下
    2024-07-07
  • Java定时器Timer使用方法详解

    Java定时器Timer使用方法详解

    这篇文章主要为大家详细介绍了Java定时器Timer的使用方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • idea使用Mybatis逆向工程插件详情

    idea使用Mybatis逆向工程插件详情

    这篇文章主要介绍了idea使用Mybatis逆向工程插件详情,首先使用mybatis连接数据库接着添加连接的mysql的信息,测试链接等过程,更多过程了解请参考下面文章的详细内容
    2022-01-01

最新评论