Hutool使用指南(二):字符串工具

2024-04-03 00:32

本文主要是介绍Hutool使用指南(二):字符串工具,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

阅读本篇文章大约花费您5分钟!


     今天是Hutool工具的第二篇文章,介绍一下字符串相关的处理方法。字符串工具指cn.hutool.core.util.StrUtil类,其中对String的多种方法进行了封装并且提供了其他方便实用的方法。StrUtil中的方法是静态方法。

从多个字符串中判断是否有空

      这里的空有两层含义:一是null或者“”(空串),二是不可见字符构成的字符串(不可见字符串),比如由空格构成的字符串(“      ”)。针对两种情况Hutool提供了不同的方法来解决。常用的方法如下表所示:

多个字符串判断是否有空

isBlank(CharSequence arg0):boolean

判断字符串是否为null或者””或者是不可见字符串

isEmpty(charSequence arg0):boolean

判断字符串是否为null或者””

hasBlank(CharSequence…arg0):boolean

判断多个字符串中是否有null或者””或者是不可见字符串

hasEmpty(CharSequence…arg0):boolean

判断多个字符串中是否有null或者””

     其中在表单登录时,hasEmpty()方法就可以一展身手了。

     下面看一下示例代码:

public class Test{public static void testStrUtil01() {StrUtil strUtil=new StrUtil();System.out.println("hasEmpty判断多个字符串中是否有null或者\"\":");System.out.println(strUtil.hasEmpty("smart","pig",""));System.out.println("hasBlank判断多个字符串是否有null或者\"\"或者不可见字符:");System.out.println(strUtil.hasBlank("smart","pig","  "));System.out.println(strUtil.isEmpty(" "));System.out.println(strUtil.isBlank(" "));}public static void main(String[] args) {Test.testStrUtil01();/*结果如下:hasEmpty判断多个字符串中是否有null或者"":truehasBlank判断多个字符串是否有null或者""或者不可见字符:truefalsetrue*/}}    

sub方法

      sub()方法相当于subString()方法;

      有三个参数:第一个是截取的字符串,后两个是首尾位置。sub()方法有一个最大的特点就是容错率非常高,并且-1表示最后一个字符,-2表示倒数第二个字符,以此类推。   并且首尾位置也可以颠倒。

     看一个例子就可以完全理解:

public class Test{public static void testStrUtil02() {String testStr="my name is smartPig";String result01=StrUtil.sub(testStr, 0, 4);/*虽然是4-0,但是实际上还是算成0-4*/String result02=StrUtil.sub(testStr, 4, 0);String result03=StrUtil.sub(testStr, -1, 3);String result04=StrUtil.sub(testStr, -4, 3);System.out.println(result01);System.out.println(result02);System.out.println(result03);System.out.println(result04);}public static void main(String[] args) {Test.testStrUtil02();/*结果为:my nmy nname is smartPiname is smar*/}
}

format方法

      format方法类似于JDBC中PreparedStatement中的?占位符,可以在字符串中使用”{}”作为占位符

      看个例子就明白了!   

public class Test{public static void testStrUtil04() {String testStr="{} name is smart{}";String result=StrUtil.format(testStr, "my","Pig");//my对应第一个{},Pig对应第二个{}System.out.println(result);}public static void main(String[] args) {Test.testStrUtil04();/*结果如下:my name is smartPig*/}
}

有了这个方法,就不需要在某些场景辛苦的和参数拼接字符串了。

 

字符串逆序

      Hutool可以很容易的实现字符串逆序。可以使用StrUtil.reverse(String str):String方法。

去除前后缀

      Hutool可以去除字符串的前缀/后缀,这个特点非常适用于去除文件的后缀名。相关方法如下表:

去除前后缀

removeSuffix(CharSequence str, CharSequence suffix)

去除后缀

removeSuffixIgnoreCase(CharSequence str, CharSequence suffix)

去除后缀,忽略大小写

removePrefix(CharSequence str, CharSequence suffix)

去除前缀

removePrefixIgnoreCase(CharSequence str, CharSequence suffix)

去除前缀,忽略大小写

public class Test{public static void testStrUtil06() {String path1="smart.png";String path2="smart.PNg";System.out.println(StrUtil.removeSuffix(path1, ".png"));System.out.println(StrUtil.removeSuffixIgnoreCase(path2,".png"));}public static void main(String[] args) {Test.testStrUtil06();/*去除前后缀结果:smartsmart*/}
}

字符串常量

     Hutool定义了一些字符常量,可以灵活使用。部分常量如下所示:

一些常量

StrUtil.DOT

StrUtil.DOUBLE_DOT

双点

StrUtil.UNDERLINE

下划线

StrUtil.EMPTY

横杠

StrUtil.BACKSLASH

反斜杠

StrUtil.DASHED

破折

StrUtil.BRACKET_END

右中扩号

StrUtil.BRACKET_START

左中括号

StrUtil.COLON

冒号

StrUtil.COMMA

逗号

StrUtil.DELIM_END

右大括号

StrUtil.DELIM_START

左大括号

public class Test{public static void testStrUtil07() {System.out.println(StrUtil.DOT);System.out.println(StrUtil.DOUBLE_DOT);System.out.println(StrUtil.UNDERLINE);System.out.println(StrUtil.EMPTY);System.out.println(StrUtil.BACKSLASH);System.out.println(StrUtil.DASHED);System.out.println(StrUtil.BRACKET_END);System.out.println(StrUtil.BRACKET_START);System.out.println(StrUtil.COLON);System.out.println(StrUtil.COMMA);System.out.println(StrUtil.DELIM_END);System.out.println(StrUtil.DELIM_START);}public static void main(String[] args) {Test.testStrUtil07();/*结果如下:..._\-][:,}{	*/}
}

      今天的字符串相关方法就介绍到这里,下一次会给大家介绍随机工具类的使用方法!

      今天在《码农翻身》一书中看到了这样一句话:凡事必将骑上虎背。不逼自己一次,怎么知道自己真正的实力!也把这句话送给正在努力的各位!希望各位能够不离不弃,勇于坚持,勤于实践!

 

 

这篇关于Hutool使用指南(二):字符串工具的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/871478

相关文章

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、

基于Python实现一个图片拆分工具

《基于Python实现一个图片拆分工具》这篇文章主要为大家详细介绍了如何基于Python实现一个图片拆分工具,可以根据需要的行数和列数进行拆分,感兴趣的小伙伴可以跟随小编一起学习一下... 简单介绍先自己选择输入的图片,默认是输出到项目文件夹中,可以自己选择其他的文件夹,选择需要拆分的行数和列数,可以通过

Python中反转字符串的常见方法小结

《Python中反转字符串的常见方法小结》在Python中,字符串对象没有内置的反转方法,然而,在实际开发中,我们经常会遇到需要反转字符串的场景,比如处理回文字符串、文本加密等,因此,掌握如何在Pyt... 目录python中反转字符串的方法技术背景实现步骤1. 使用切片2. 使用 reversed() 函

Python使用pip工具实现包自动更新的多种方法

《Python使用pip工具实现包自动更新的多种方法》本文深入探讨了使用Python的pip工具实现包自动更新的各种方法和技术,我们将从基础概念开始,逐步介绍手动更新方法、自动化脚本编写、结合CI/C... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

Python使用OpenCV实现获取视频时长的小工具

《Python使用OpenCV实现获取视频时长的小工具》在处理视频数据时,获取视频的时长是一项常见且基础的需求,本文将详细介绍如何使用Python和OpenCV获取视频时长,并对每一行代码进行深入解析... 目录一、代码实现二、代码解析1. 导入 OpenCV 库2. 定义获取视频时长的函数3. 打开视频文

Spring WebFlux 与 WebClient 使用指南及最佳实践

《SpringWebFlux与WebClient使用指南及最佳实践》WebClient是SpringWebFlux模块提供的非阻塞、响应式HTTP客户端,基于ProjectReactor实现,... 目录Spring WebFlux 与 WebClient 使用指南1. WebClient 概述2. 核心依

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优

sqlite3 命令行工具使用指南

《sqlite3命令行工具使用指南》本文系统介绍sqlite3CLI的启动、数据库操作、元数据查询、数据导入导出及输出格式化命令,涵盖文件管理、备份恢复、性能统计等实用功能,并说明命令分类、SQL语... 目录一、启动与退出二、数据库与文件操作三、元数据查询四、数据操作与导入导出五、查询输出格式化六、实用功

MySQL 获取字符串长度及注意事项

《MySQL获取字符串长度及注意事项》本文通过实例代码给大家介绍MySQL获取字符串长度及注意事项,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql 获取字符串长度详解 核心长度函数对比⚠️ 六大关键注意事项1. 字符编码决定字节长度2