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实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模

Java使用正则提取字符串中的内容的详细步骤

《Java使用正则提取字符串中的内容的详细步骤》:本文主要介绍Java中使用正则表达式提取字符串内容的方法,通过Pattern和Matcher类实现,涵盖编译正则、查找匹配、分组捕获、数字与邮箱提... 目录1. 基础流程2. 关键方法说明3. 常见场景示例场景1:提取所有数字场景2:提取邮箱地址4. 高级

Python 字符串裁切与提取全面且实用的解决方案

《Python字符串裁切与提取全面且实用的解决方案》本文梳理了Python字符串处理方法,涵盖基础切片、split/partition分割、正则匹配及结构化数据解析(如BeautifulSoup、j... 目录python 字符串裁切与提取的完整指南 基础切片方法1. 使用切片操作符[start:end]2

Linux grep 命令的使用指南

《Linuxgrep命令的使用指南》本文给大家介绍Linuxgrep命令的使用指南,包括基础搜索语法、实践指南,感兴趣的朋友跟随小编一起看看吧... 目录linux grep 命令全面使用指南一、基础搜索语法1. 基本文本搜索2. 多文件搜索二、常用选项详解1. 输出控制选项2. 上下文控制选项三、正则表达

MyBatis的xml中字符串类型判空与非字符串类型判空处理方式(最新整理)

《MyBatis的xml中字符串类型判空与非字符串类型判空处理方式(最新整理)》本文给大家介绍MyBatis的xml中字符串类型判空与非字符串类型判空处理方式,本文给大家介绍的非常详细,对大家的学习或... 目录完整 Hutool 写法版本对比优化为什么status变成Long?为什么 price 没事?怎

MySQL慢查询工具的使用小结

《MySQL慢查询工具的使用小结》使用MySQL的慢查询工具可以帮助开发者识别和优化性能不佳的SQL查询,本文就来介绍一下MySQL的慢查询工具,具有一定的参考价值,感兴趣的可以了解一下... 目录一、启用慢查询日志1.1 编辑mysql配置文件1.2 重启MySQL服务二、配置动态参数(可选)三、分析慢查

SpringBoot集成Shiro+JWT(Hutool)完整代码示例

《SpringBoot集成Shiro+JWT(Hutool)完整代码示例》ApacheShiro是一个强大且易用的Java安全框架,提供了认证、授权、加密和会话管理功能,在现代应用开发中,Shiro因... 目录一、背景介绍1.1 为什么使用Shiro?1.2 为什么需要双Token?二、技术栈组成三、环境

基于Python实现进阶版PDF合并/拆分工具

《基于Python实现进阶版PDF合并/拆分工具》在数字化时代,PDF文件已成为日常工作和学习中不可或缺的一部分,本文将详细介绍一款简单易用的PDF工具,帮助用户轻松完成PDF文件的合并与拆分操作... 目录工具概述环境准备界面说明合并PDF文件拆分PDF文件高级技巧常见问题完整源代码总结在数字化时代,PD

Spring Security6.3.x的使用指南与注意事项

《SpringSecurity6.3.x的使用指南与注意事项》SpringSecurity6.3.1基于现代化架构,提供简洁配置、增强默认安全性和OAuth2.1/OIDC支持,采用Lambda... 目录介绍基础配置 (Servlet 应用 - 使用 Lambda DSL)关键配置详解(Lambda DS

Python按照24个实用大方向精选的上千种工具库汇总整理

《Python按照24个实用大方向精选的上千种工具库汇总整理》本文整理了Python生态中近千个库,涵盖数据处理、图像处理、网络开发、Web框架、人工智能、科学计算、GUI工具、测试框架、环境管理等多... 目录1、数据处理文本处理特殊文本处理html/XML 解析文件处理配置文件处理文档相关日志管理日期和