该工具类是用于操作Java.lang.String类的。
StringUtils类与String类的区别在于:此类是null安全的,即如果输入参数String为null,则不会抛出NullPointerException异常,代码更健壮。
以函数isEmpty为例子:
存在字符串stringTest, 若该字符串为空,返回
1.使用String类判断方法为:
if(null !=stringTest){ if(stringTest.isEmpty()){ return true; } }else{ return true; }
该方法需要先进行非空判断,已避免空指针。
2.使用StringUtils的判断方法为:
if(StringUtils.isEmpty(stringTest )){ return true; }
查看StringUtils的源码可知:
public static boolean isEmpty(String str){ return (str == null) || (str.length() == 0); }
其相关的操作已经处理好。再查看常见操作trim函数的源码如下:
public static String trim(String str){ return str == null ? null : str.trim(); }
因此可知,使用StringUtils类比原始的String类更加健壮,避免空指针。
常见方法如下:
判断函数:
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)
---------------分割线---------------
1.isEmpty(String str) 是否为空,空格字符为false
2.isNotEmpty(String str) 是否为非空,空格字符为true
3.isBlank(String str) 是否为空,空格字符为true
4.isNotBlank(String str) 是否为非空,空格字符为false
5.trim(String str)去除字符串两端的控制符,空字符串、null 返回 null
6.trimToEmpty(String str) 去除字符串两端的控制符,空字符串、null 返回""
7.stripToNull(String str) 去除字符串两端的空白符,空字符串、null 返回null
8.stripToEmpty(String str) 去除字符串两端的空白符,空字符串、null 返回""
9.strip(String str, String stripChars) 去掉str两端的在stripChars中的字符
10.StringUtils.strip("000000134_76539000","0")="134_76539"
11.stripStart (String str,String stripChars) 去除str 前端在stripChars中的字符
12.stripEnd (String str,String stripChars) 去除str 后端在stripChars中的字符
13.equals(String str1,String str2) 比较两个字符串是否相等,如果两个均为空则认为相等
14.indexOf(String str,char searchChar) 返回searchChar 在字符串中第一次出现的位置,如果没找到则返回 -1,如果str 为null 或者 "",也返回-1
15.indexOf(String str,char searchChar,int startPos) 返回字符searchChar从startPos开始在字符串str中第一次出现的位置。
16.contains(String str,char searchChar) str中是否包含字符searchChar,str为null 或者 searchChar为null,返回false 。
17.StringUtils.contains("", "") = true
18.StringUtils.contains("dfg", "") = true
19.containsIgnoreCase(String str,String searchStr) str中是否包含字符searchChar,不区分大小写
20.int indexOfAny(String str, char[] searchChars) 找出字符数组searchChars中的字符第一次出现在字符串str中的位置。 如果字符数组中的字符都不在字符串中,则返回-1 ,如果字符串为null或"",则返回-1
21.subString(String str,int start) 从start 开始,包含start 那个字符,得到字符串str 的子串,如果start为负数,则从后面开始数起。如果str 为null 或者 "" 则返回其本身
22.subStringBefore(String str,String separator) 得到字符串separator第一次出现前的子串。不包含那个字符,如果str 为null 或者 "" 则返回其本身。
23.subStringAfter(String str,String separator) 得到字符串separator第一次出现后的子串,不包含那个字符,如果 str 为null,或者"",则返回其本身
24.subString(String str,int start,int end) 同上
25.left(String str,int len) 得到字符串str从左边数len长度的子串,如果str 为null 或者 "",则返回其本身,如果len小于0,则返回""
26.right(String str,int len)得到字符串str从右边数len长度的子串
27.mid(String str,int pos,int len) 得到字符串str从pos开始len长度的子串,pos小于0,则设为0。
28.split(String str) 把字符串拆分成一个字符串数组,用空白符 作为分隔符,字符串为null 返回null,字符串为"",返回空数组{}
29.split(String str,char c) 按照 char c 拆分字符串
30.join(Object[] arrey)把数组中的元素连接成一个字符串返回
31.join(Object[] arrey,char c) 把数组中的元素拼接成一个字符串返回,把分隔符 c 也带上
32.deleteWhitespace(String str) 删除字符串中的所有空白符,包括转义字符
33.removeStart(String str,String remove) 如果字符串str是以remove开始,则去掉这个开始,然后返回,否则返回原来的串
34.removeEnd(String str,String remove) 如果字符串str是以字符串remove结尾,则去掉这个结尾,然后返回,否则返回原来的串。
35.remove(String str,char remove) 去掉字符串str中所有包含remove的部分,然后返回
36.replace(String str,String reql,String with) 在字符串text中用with代替repl,替换所有
37.replaceChars(String str,char old,char new) 在字符串中 new 字符代替 old 字符
38.public static String replaceChars(String str, String searchChars, String replaceChars)
39.StringUtils.replaceChars("asssdf","s","yyy")) = "ayyydf"
40.StringUtils.replaceChars("asdf","sd","y")) = "ayf"
41.StringUtils.replaceChars("assssddddf","sd","y"))= "ayyyyf"
42.overlay(String str,String new,int start,int end) 用字符串new 覆盖字符串str从start 到 end 之间的串
43.chop(String str) 去掉字符串的最后一个字符,比如/r/n
44.repeat(String str,int repart) 重复字符串repeat次
45.rightPad(String str,int size,String padStr) size长度的字符串,如果不够用padStr补齐
46.leftPad(String str,int size,String padStr)同上
47.center(String str,int size)产生一个字符串,长度等于size,str位于新串的中心
48.swapCase(String str) 字符串中的大写转小写,小写转换为大写
原创连接:https://blog.csdn.net/diypp2012/article/details/82971716 :https://blog.csdn.net/hj7jay/article/details/75461367
原文地址:https://www.cnblogs.com/msi-chen/p/11361006.html