Spring Boot 内置工具类 StringUtils

一、字符串 StringUtils

1.类
import org.springframework.util.StringUtils;
2.字符串判断工具
// 判断字符串是否为 null,或 ""。注意,包含空白符的字符串为非空
boolean isEmpty(Object str)
// 判断字符串是否是以指定内容结束。忽略大小写
boolean endsWithIgnoreCase(String str, String suffix)
// 判断字符串是否已指定内容开头。忽略大小写
boolean startsWithIgnoreCase(String str, String prefix) 
// 是否包含空白符
boolean containsWhitespace(String str)
// 判断字符串非空且长度不为 0,即,Not Empty
boolean hasLength(CharSequence str)
// 判断字符串是否包含实际内容,即非仅包含空白符,也就是 Not Blank
boolean hasText(CharSequence str)
// 判断字符串指定索引处是否包含一个子串。
boolean substringMatch(CharSequence str, int index, CharSequence substring)
// 计算一个字符串中指定子串的出现次数
int countOccurrencesOf(String str, String sub)

测试:

String str = "优快云";
String strEmpty = "";
String strNull = null;
String str1 = "CS CN";

// boolean isEmpty(Object str)  判断字符串是否为 null,或 ""。注意,包含空白符的字符串为非空
StringUtils.isEmpty(str);
// 输出:false
StringUtils.isEmpty(strEmpty);
// 输出:true
StringUtils.isEmpty(strNull);
// 输出:true

// boolean endsWithIgnoreCase(String str, String suffix)  判断字符串是否是以指定内容结束。忽略大小写
StringUtils.endsWithIgnoreCase(str,"n");
// 输出:true
StringUtils.endsWithIgnoreCase(str,"DN");
// 输出:true
StringUtils.endsWithIgnoreCase(str,"1dn");
// 输出:false

// boolean startsWithIgnoreCase(String str, String prefix)  判断字符串是否已指定内容开头。忽略大小写
StringUtils.startsWithIgnoreCase(str,"c");
// 输出:true
StringUtils.startsWithIgnoreCase(str,"cs1");
// 输出:false

// boolean containsWhitespace(String str)  是否包含空白符
StringUtils.containsWhitespace(str);
// 输出:false
StringUtils.containsWhitespace(strEmpty);
// 输出:false
StringUtils.containsWhitespace(strNull);
// 输出:false
StringUtils.containsWhitespace(str1);
// 输出:true

// boolean hasLength(CharSequence str) 判断字符串非空且长度不为 0,即,Not Empty
StringUtils.hasLength(str);
// 输出:true
StringUtils.hasLength(strEmpty);
// 输出:false
StringUtils.hasLength(strNull);
// 输出:false

// boolean hasText(CharSequence str)  判断字符串是否包含实际内容,即非仅包含空白符,也就是 Not Blank
StringUtils.hasText(str);
// 输出:true
StringUtils.hasText(strEmpty);
// 输出:false
StringUtils.hasText(strNull);
// 输出:false

// boolean substringMatch(CharSequence str, int index, CharSequence substring)  判断字符串指定索引处是否包含一个子串。
StringUtils.substringMatch(str,1,"S");
// 输出:true

// int countOccurrencesOf(String str, String sub)  计算一个字符串中指定子串的出现次数
StringUtils.countOccurrencesOf(str1,"C");
// 输出:2
3.字符串操作工具
// 查找并替换指定子串
String replace(String inString, String oldPattern, String newPattern)
// 去除尾部的特定字符
String trimTrailingCharacter(String str, char trailingCharacter) 
// 去除头部的特定字符
String trimLeadingCharacter(String str, char leadingCharacter)
// 去除头部的空白符
String trimLeadingWhitespace(String str)
// 去除尾部的空白符
String trimTrailingWhitespace(String str)
// 去除头部和尾部的空白符
String trimWhitespace(String str)
// 删除开头、结尾和中间的空白符
String trimAllWhitespace(String str)
// 删除指定子串
String delete(String inString, String pattern)
// 删除指定字符(可以是多个)
String deleteAny(String inString, String charsToDelete)
// 对数组的每一项执行 trim() 方法
String[] trimArrayElements(String[] array)

输出:

String[] strArray = {" 12345 "," abcde "};
String str = "abcdab";
String str1 = ",abcdef,";
String strEmpty = " CS DN ";
char strChar = ',';

// String replace(String inString, String oldPattern, String newPattern) 查找并替换指定子串
StringUtils.replace(str,"c","n");
//输出:abndab

//  String trimTrailingCharacter(String str, char trailingCharacter)  去除尾部的特定字符
StringUtils.trimTrailingCharacter(str1,strChar);
//输出:,abcdef

//  String trimLeadingCharacter(String str, char leadingCharacter)  去除头部的特定字符
StringUtils.trimLeadingCharacter(str1,strChar);
//输出:abcdef,

//  String trimLeadingWhitespace(String str)  去除头部的空白符
StringUtils.trimLeadingWhitespace(strEmpty);
//输出:CS DN空

//  String trimTrailingWhitespace(String str)  去除尾部的空白符
StringUtils.trimTrailingWhitespace(strEmpty);
//输出:空CS DN
        
//  String trimWhitespace(String str)  去除头部和尾部的空白符
StringUtils.trimWhitespace(strEmpty);
//输出:CS DN

//  String trimAllWhitespace(String str)  删除开头、结尾和中间的空白符
StringUtils.trimAllWhitespace(strEmpty);
//输出:优快云
        
//  String delete(String inString, String pattern)  删除指定子串
StringUtils.delete(str,"a");
//输出:bcdb

//  String deleteAny(String inString, String charsToDelete)  删除指定字符(可以是多个)
StringUtils.deleteAny(str,"a,c");
//输出:bdb
        
StringUtils.deleteAny(str,"ac");
//输出:bdb
        
//  String[] trimArrayElements(String[] array)  对数组的每一项执行 trim() 方法
String[] strArray1 = StringUtils.trimArrayElements(strArray);
Arrays.toString(strArray1);
//输出:[12345, abcde]
4.路径相关工具方法
// 解析路径字符串,优化其中的 “..” 
String cleanPath(String path)
// 解析路径字符串,解析出文件名部分
String getFilename(String path)
// 解析路径字符串,解析出文件后缀名
String getFilenameExtension(String path)
// 比较两个两个字符串,判断是否是同一个路径。会自动处理路径中的 “..” 
boolean pathEquals(String path1, String path2)
// 删除文件路径名中的后缀部分
String stripFilenameExtension(String path) 
// 以 “. 作为分隔符,获取其最后一部分
String unqualify(String qualifiedName)
// 以指定字符作为分隔符,获取其最后一部分
String unqualify(String qualifiedName, char separator)

输出:

String strUrl = "classPath: f/../../a/b/c/../../spring_test.xml";
char strChar = '_';

//  String cleanPath(String path)  解析路径字符串,优化其中的 “..”
StringUtils.cleanPath(strUrl);
//输出:classPath:../a/spring_test.xml

// String getFilename(String path)  解析路径字符串,解析出文件名部分
StringUtils.getFilename(strUrl);
//输出:classPath:../a/spring_test.xml

// String getFilenameExtension(String path)  解析路径字符串,解析出文件后缀名
StringUtils.getFilenameExtension(strUrl);
//输出:xml

// boolean pathEquals(String path1, String path2)  比较两个两个字符串,判断是否是同一个路径。会自动处理路径中的 “..”
StringUtils.pathEquals(strUrl,"classPath:../a/spring_test.xml");
//输出:true
StringUtils.pathEquals(strUrl,"classPath:../a/b/c/spring_test.xml");
//输出:false

// String stripFilenameExtension(String path)  删除文件路径名中的后缀部分
StringUtils.stripFilenameExtension(strUrl);
//输出:classPath: f/../../a/b/c/../../spring_test

// String unqualify(String qualifiedName)  以 “. 作为分隔符,获取其最后一部分
StringUtils.unqualify(strUrl);

// String unqualify(String qualifiedName, char separator)  以指定字符作为分隔符,获取其最后一部分
StringUtils.unqualify(strUrl,strChar);
//输出:test.xml
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值