一、字符串 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