StringUtils工具类
1.public static boolean isEmpty(String str);判断某字符串是否为空,为空的标准是str==null或str.length()==0
示例:StringUtils.isEmpty(null)=true;StringUtils.isEmpty("")=true;
2.public static boolean isNotEmpty(String str);判断某字符串是否非空,等于!isEmpty(String str);
示例:StringUtils.isNotEmpty(null)=false;StringUtils.isNotEmpty("")=false;
3.public static boolean isBlank(String str);判断某字符串是否为空或长度为0或由空字符(whitespace)构成
示例:StringUtils.isBlank(null) = true
StringUtils.isBlank("") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank("\t \n \f \r") = true //对于制表符、换行符、换页符和回车符
4.public static boolean isNotBlank(String str);判断某字符串是否不为空且长度不为0且不由空字符串(whitespace)构成,等于!isBlank(String str);
5.public static String trim(String str);去掉两端的控制符(control characters, char<=32),如果输入null,则返回null
示例:
StringUtils.isBlank(null) = true StringUtils.isBlank("") = true StringUtils.isBlank(" ") = true StringUtils.isBlank(" ") = true StringUtils.isBlank("\t \n \f \r") = true //对于制表符、换行符、换页符和回车符
6.public static String trimToNull(String str);去掉字符串两端的控制符(control characters,char<=32),如果变为null或"",则返回null
示例:
StringUtils.trimToNull(null) = null StringUtils.trimToNull("") = null StringUtils.trimToNull(" ") = null StringUtils.trimToNull(" \b \t \n \f \r ") = null StringUtils.trimToNull(" \n\tss \b") = "ss" StringUtils.trimToNull(" d d dd ") = "d d dd" StringUtils.trimToNull("dd ") = "dd"
7.public static String trimToEmpty(String str)去掉字符串两端的控制符(control characters, char<=32),如果变为null或"",则返回""
示例:
StringUtils.trimToEmpty(null) = "" StringUtils.trimToEmpty("") = "" StringUtils.trimToEmpty(" ") = "" StringUtils.trimToEmpty(" \b \t \n \f \r ") = "" StringUtils.trimToEmpty(" \n\tss \b") = "ss" StringUtils.trimToEmpty(" d d dd ") = "d d dd" StringUtils.trimToEmpty("dd ") = "dd" StringUtils.trimToEmpty(" dd ") = "dd"
8. public static String strip(String str);去掉字符串两端的空白符(whitespace) ,如果输入为 null 则返回 null
下面是示例(注意和 trim() 的区别):
StringUtils.strip(null) = null StringUtils.strip("") = "" StringUtils.strip(" ") = "" StringUtils.strip(" \b \t \n \f \r ") = "\b" StringUtils.strip(" \n\tss \b") = "ss \b" StringUtils.strip(" d d dd ") = "d d dd" StringUtils.strip("dd ") = "dd" StringUtils.strip(" dd ") = "dd"
9. public static String stripToNull(String str);去掉字符串两端的空白符(whitespace) ,如果变为 null 或"",则返回 null
下面是示例(注意和 trimToNull() 的区别):
StringUtils.stripToNull(null) = null StringUtils.stripToNull("") = null StringUtils.stripToNull(" ") = null StringUtils.stripToNull(" \b \t \n \f \r ") = "\b" StringUtils.stripToNull(" \n\tss \b") = "ss \b" StringUtils.stripToNull(" d d dd ") = "d d dd" StringUtils.stripToNull("dd ") = "dd" StringUtils.stripToNull(" dd ") = "dd"
10. public static String stripToEmpty(String str) 去掉字符串两端的空白符(whitespace) ,如果变为 null 或"" ,则返回""
下面是示例(注意和 trimToEmpty() 的区别):
StringUtils.stripToNull(null) = "" StringUtils.stripToNull("") = "" StringUtils.stripToNull(" ") = "" StringUtils.stripToNull(" \b \t \n \f \r ") = "\b" StringUtils.stripToNull(" \n\tss \b") = "ss \b" StringUtils.stripToNull(" d d dd ") = "d d dd" StringUtils.stripToNull("dd ") = "dd" StringUtils.stripToNull(" dd ") = "dd"
11. public static String strip(String str, String stripChars); 去掉 str 两端的在 stripChars 中的字符。如果 str 为 null 或等于"" ,则返回它本身;如果 stripChars 为 null 或"" ,则返回 strip(String str) 。
12. public static String stripStart(String str, String stripChars);和11相似,去掉 str 前端的在 stripChars 中的字符。
13. public static String stripEnd(String str, String stripChars);和11相似,去掉 str 末端的在 stripChars 中的字符。
14. public static String[] stripAll(String[] strs) 对字符串数组中的每个字符串进行 strip(String str) ,然后返回。如果 strs 为 null 或 strs 长度为0,则返回 strs 本身
15. public static String[] stripAll(String[] strs, String stripChars);对字符串数组中的每个字符串进行 strip(String str, String stripChars) ,然后返回。如果 strs 为 null 或 strs 长度为0,则返回 strs 本身
16. public static boolean equals(String str1, String str2);比较两个字符串是否相等,如果两个均为空则也认为相等。
17. public static boolean equalsIgnoreCase(String str1, String str2);比较两个字符串是否相等,不区分大小写,如果两个均为空则也认为相等。
18. public static int indexOf(String str, char searchChar);返回字符 searchChar 在字符串 str 中第一次出现的位置。
如果 searchChar 没有在 str 中出现则返回-1,
如果 str 为 null 或 "" ,则也返回-1
19. public static int indexOf(String str, char searchChar, int startPos);返回字符 searchChar 从 startPos 开始在字符串 str 中第一次出现的位置。
如果从 startPos 开始 searchChar 没有在 str 中出现则返回-1,
如果 str 为 null 或 "" ,则也返回-1
20. public static int indexOf(String str, String searchStr) 返回字符串 searchStr 在字符串 str 中第一次出现的位置。
如果 str 为 null 或 searchStr 为 null 则返回-1, 如果 searchStr 为 "" ,且 str 为不为 null ,则返回0, 如果 searchStr 不在 str 中,则返回-1
21. public static int ordinalIndexOf(String str, String searchStr, int ordinal) 返回字符串 searchStr 在字符串 str 中第 ordinal 次出现的位置。
如果 str=null 或 searchStr=null 或 ordinal<=0 则返回-1 举例(*代表任意字符串):
整合
常见方法如下: 判断函数: 1.判断是否为空,返回boolean: StringUtils.isEmpty(String str) 2.判断是否非空,返回boolean: StringUtils.isNotEmpty(String str) 3.判断空白,返回boolean: StringUtils.isBlank(String str) 4.判断非空白,返回boolean: StringUtils.isNotBlank(String str) 5.判断是否存在空白(数组),返回boolean: StringUtils.isAnyBlank(CharSequence… css) 6.判断是否存在空(数组),返回boolean: StringUtils.isAnyEmpty(CharSequence… css) 7.判断不存在空白(数组),返回boolean: StringUtils.isNoneBlank(CharSequence… css) 8.判断不存在空(数组),返回boolean: StringUtils.isNoneEmpty(CharSequence… css) 9.判断是否空白,返回boolean: StringUtils.isWhitespace(CharSequence cs) 大小写函数: 1.首字母大写,返回String: StringUtils.capitalize(String str) 2.首字母小写,返回String: StringUtils.uncapitalize(String str) 3.全部大写,返回String: StringUtils.upperCase(String str) 4.全部小写,返回String: StringUtils.lowerCase(String str) 5.大小写互相转化,返回String: StringUtils.swapCase(String str) 6.判断是否全大写,返回boolean: StringUtils.isAllUpperCase(CharSequence cs) 7.判断是否全小写,返回boolean: StringUtils.isAllLowerCase(CharSequence cs) 删除函数: 1.从字符串中删除某字符,返回String: StringUtils.remove(String str, char remove) 2.从字符串中删除字符串,返回String: StringUtils.remove(String str, String remove) 3.删除结尾匹配的字符串,返回String: StringUtils.removeEnd(String str, String remove) 4.删除结尾匹配的字符串,忽略大小写,返回String: StringUtils.removeEndIgnoreCase(String str, String remove) 5.正则表达式删除字符串,返回String: StringUtils.removePattern(String source, String regex) 6.删除开头匹配的字符串,返回String: StringUtils.removeStart(String str, String remove) StringUtils.removeStartIgnoreCase(String str, String remove) 7.删除所有空格,包括中间,返回String: StringUtils.deleteWhitespace(String str) 字符替换函数: 1.用replacement替换searchString字符串,返回String; max表示替换个数,默认全替换,为-1,可不填。0表示不换。其他表示从头开始替换n个 StringUtils.replace(String text, String searchString, String replacement, int max) 2.仅替换一个,从头开始,返回String: StringUtils.replaceOnce(String text, String searchString, String replacement) 3.多个替换, searchList与replacementList需一一对应,返回String: StringUtils.replaceEach(String text, String[] searchList, String[] replacementList) 4.多个循环替换,searchList与replacementList需一一对应,返回String: StringUtils.replaceEachRepeatedly(String text, String[] searchList, String[] replacementList) 5.替换start到end的字符,返回String: StringUtils.overlay(String str,String overlay,int start,int end) 拆分合并函数: 1.特定符号分割字符串,默认为空格,可不填,返回字符数组: StringUtils.split(String str) 2.特定符合分割字符串为长度为n的字符数组,n为0,表示全拆,返回字符数组:StringUtils.split(String str, String separatorChars, int n) 3.合并函数,数组合并为字符串: StringUtils.join(byte[] array,char separator) 4. 合并函数,separator为合并字符,当为null时,表示简单合并,亦可不填;startIndex和endIndex表示合并数组该下标间的字符,使用separator字符,亦可不填,表示全合并。 StringUtils.join(Object[] array,char separator,int startIndex,int endIndex) 截取函数 1.截取字符串,返回String: StringUtils.substring(String str,int start) 2.从某字符后字符开始截取,返回String: StringUtils.substringAfter(String str,String separator) 3.截取至最后一处该字符出现,返回String: StringUtils.substringBeforeLast(String str,String separator) 4.从第一次该字符出现后截取,返回String: StringUtils.substringAfterLast(String str,String separator) 5.截取某字符中间的子字符串,返回String: StringUtils.substringBetween(String str,String tag) 删除空白函数 1.删除空格,返回String: StringUtils.trim(String str) 2.转换空格为empty,返回String: StringUtils.trimToEmpty(String str) 3.转换空格为null,返回String: StringUtils.trimToNull(String str) 4.删除所有空格,包括字符串中间空格,返回String: StringUtils.deleteWhitespace(String str) 判断是否相等函数 1.判断是否相等,返回boolean: StringUtils.equals(CharSequence cs1,CharSequence cs2) 2…判断是否相等,忽略大小写,返回boolean: StringUtils.equalsIgnoreCase(CharSequence cs1,CharSequence cs2) 是否包含函数 1.判断第一个参数字符串,是否都出参数2中,返回boolean: StringUtils.containsOnly(CharSequence cs,char… valid) 2.判断字符串中所有字符,都不在参数2中,返回boolean: StringUtils.containsNone(CharSequence cs,char… searchChars) 3.判断字符串是否以第二个参数开始,返回boolean: StringUtils.startsWith(CharSequence str,CharSequence prefix) 3.判断字符串是否以第二个参数开始,忽略大小写,返回boolean: StringUtils.startsWithIgnoreCase(CharSequence str,CharSequence prefix)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库