添加依赖
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.8.1</version>
</dependency>
常用方法
空串检查
StringUtils.isBlank();
当参数为null,长度为0或者仅由空格组成时返回true
StringUtils.isEmpty();
当参数为null 或长度为0的时返回true
非空判断
StringUtils.isNotEmpty();
等价于!isEmpty()
当参数为null或者长度为0返回false
StringUtils.isNotBlank();
当参数为null或者长度为0或者全部由空格组成,返回false
去空格
StringUtils.trim();
去掉字符串两端的空格 如果传入null 返回null
StringUtils.trimToNull();
清除参数收尾的空白字符,如果参数全由空格组成或者本来就是null则返回null
StringUtils.trimToEmpty();
如果取出空格后为null或者"'就返回""
StringUtils.strip();
StringUtils.strip(" \b \t \n \f \r ") = "\b"
StringUtils.strip(" \n\tss \b") = "ss \b"
如果参数为null,则返回null,
去掉指定字符
StringUtils.strip(String str, String stripChars);
去掉str两端 指定字符(stripChars)
如果str为null或""则返回它本身
如果stripChars为null,则返回strip(String str)
StringUtils.stripStart(String str, String stripChars);
去掉前端的stripChars字符
StringUtils.stripEnd(String str, String stripChars);
去掉末端的stripChars字符
以上三个方法的参数一也可是数组 ,如果是数组则对数组中的每一个元素操作
判断
StringUtils.equals(String str1, String str2);
比较两个字符串是否相等,如果两个均为空则也认为相等
StringUtils.equalsIgnoreCase(String str1, String str2);
不区分大小写比较两个字符串,如果两个均为空则也认为相等
StringUtils.isAllUpperCase(String str);
是否全是大写
StringUtils.isAllLowerCase(String str);
是否全是小写
判断字符串内容的类型
StringUtils.isNumeric( str);
如果str全由数字组成返回true ""返回true null返回false
StringUtils.isAlpha( str);
如果str全由字母组成返回rue. ""返回true null返回false
StringUtils.isAlphanumeric( str);
如果str全由数字或数字组成返回true. ""返回true null返回false
StringUtils.isAlphaspace( str);
如果str全由字母或空格组成返回true. ""返回true null返回false
StringUtils.isAlphanumericSpace(String str);
只由字母数字和空格组成 ""返回true null返回false
StringUtils.isNumericSpace(String str);
只由数字和空格组成 ""返回true null返回false
字符所在位置
StringUtils.indexOf(String str, char searchChar);
返回字符searchChar在str中第一次出现的位置
如果searchChar没有在str中出现则返回-1
如果str为null,则返回-1 如果为"" 返回0
参数二也可以是字符串
StringUtils.indexOf(String str, char searchChar, int startPos);
返回字符searchChar从startPos开始在字符串str中第一次出现的位置。
前两个参数处理同上一个方法一样
StringUtils.ordinalIndexOf(String str, String searchStr, int ordinal);
返回字符串searchStr在字符串str中第ordinal次出现的位置。
如果str=null或searchStr=null或ordinal<=0则返回-1
lastIndexOf跟Index方法处理原理类似
包含
StringUtils.contains(String str, char searchChar);
判断字符串str中是否包含字符searchChar
如果str为null或"" 返回false
如果searchChar不在str中 返回false
参数二也可以是字符串
如果是字符串 当两个参数都为""的时候返回true
StringUtils.containsIgnoreCase(String str, String searchStr);
判断字符串str是否包含字符串searchStr,不区分大小写。
StringUtils.containsOnly(String str, char[] valid);
判断是否字符串str仅包含字符串validChars中的字符,即字符串str中的字符是否都在字符串validChars中出现。
如果str为"" 则返回true
StringUtils.containsNone(String str, char[] invalidChars);
不包含,如果包含就返回false
StringUtils.containsNone(String str, String invalidChars);
判断是否字符串str不包含字符串invalidChars中的字符,如果含有则返回false。
截取
StringUtils.substring(String str, int start);
如果start小于0 则卫视是从后往前的第start个
如果str为null或""则返回它本身
StringUtils.substring(String str, int start, int end);
如果start小于0,位置是从后往前数的第start个
如果end小于0,位置是从后往前数的第end个
如果str为null或"",则返回它本身
StringUtils.left(String str, int len);
得到字符串str从左边数len长度的子串。
如果str为null或为"",则返回它本身
如果len小于等于0则返回""
StringUtils.right(String str, int len);
同上
StringUtils.mid(String str, int pos, int len);
得到字符串str从pos开始len长度的子串。
如果str为null或为"",则返回它本身
如果len小于0或pos大于srt的长度,则返回""
如果pos小于0,则pos设为0
StringUtils.substringBefore(String str, String separator);
如:StringUtils.substringBefore("asdfg", "sd") = "a"
得到字符串str的在字符串separator出现前的字串,且separator不包括在内。
如果str为null或为"",则返回它本身
如果separator为null,则返回str本身
StringUtils.substringAfter(String str, String separator);
得到字符串str的在字符串separator出现后的字串,且separator不包括在内。
如果str为null或为"",则返回它本身
如果separator为null,则返回""
拆分
StringUtils.split(String str);
把字符串拆分成一个字符串数组,用空白符作为分隔符
如果字符串为null,返回null
如果字符串为"",返回空数组{}
StringUtils.split(String str, char separatorChar);
把字符串拆分成一个字符串数组,用指定的字符separatorChar作为分隔符。
如果字符串为null,返回null
如果字符串为"",返回空数组{}
参数二可以为String
如果separatorChars为null,则默认为空白符
StringUtils.split(String str, String separatorChars, int max);
StringUtils.split("as.df.yy", ".", 2)) = {"as", "df.yy"}
把字符串拆分成一个字符串数组,用指定的字符串separatorChars作为分隔符,数组的最大长度为max。
如果字符串str为null,返回null
如果字符串str为"",返回空数组{}
如果separatorChars为null,则默认为空白符
如果max小于等于0,认为是没有限制
连接
StringUtils.join(Object[] array);
把数组中的元素连接成一个字符串返回。
StringUtils.join(Object[] array, char separator);
把数组中的元素连接成一个字符串返回,把分隔符separator也加上。
参数二也可以是String
StringUtils.join(Object[] array, char separator, int startIndex, int endIndex);
System.out.println(StringUtils.join(new String[]{"a", "b", "c", "d"}, '-', 1, 3)); // b-c
把数组中的元素连接成一个字符串返回,把分隔符separator也加上。
连接的开始位置为startIndex,结束位置为endIndex。
删除
StringUtils.deleteWhitespace(String str);
删除字符串中的所有空白符
StringUtils.removeStart(String str, String remove);
如果字符串str是以字符串remove开始,则去掉这个开始,然后返回,否则返回原来的串
StringUtils.removeEnd(String str, String remove);
如果字符串str是以字符串remove结尾,则去掉这个结尾,然后返回,否则返回原来的串。
StringUtils.remove(String str, String remove);
去掉字符串str中所有包含remove的部分,然后返回。 参数二也可以是char
替换
StringUtils.replaceOnce(String text, String repl, String with);
在字符串text中用with代替repl,仅一次。
StringUtils.replace(String text, String repl, String with);
在字符串text中用with代替repl,替换所有。
StringUtils.replace(String text, String repl, String with, int max);
在字符串text中用with代替repl,max为最大替换次数。如果max小于0,则替换所有。
StringUtils.replaceChars(String str, String searchChars, String replaceChars);
用replaceChars代替str中的searchChars。
replaceChars的长度应该和searchChars的长度相等,
如果replaceChars的长度大于searchChars的长度,超过长度的字符将被忽略,
如果replaceChars的长度小于searchChars的长度,超过长度的字符将被删除。
StringUtils.overlay(String str, String overlay, int start, int end);
用字符串overlay替换start到end之间的字符
如果str为null,则返回null
如果start或end小于0,则设为0
如果start大于end,则两者交换
如果start或end大于str的长度,则认为等于str的长度
StringUtils.capitalize(String str);
首字母大写
StringUtils.uncapitalize(String str);
首字母小写
填充
StringUtils.chop(String str);
去掉字符串str的最后一个字符。
如果字符串以"\r\n"结尾,则去掉它们。
StringUtils,repeat(String str, int repeat);
重复字符串repeat次,组合成一个新串返回
如果字符串str为null或"",则返回它本身
如果repeat小于0,则返回""
StringUtils.rightPad(String str, int size);
如果str为null,则返回null
如果字符串长度小于size,则在右边补空格使其长度等于size,然后返回
如果字符串长度大于等于size,则返回它本身
StringUtils.rightPad(String str, int size, char padChar);
和上面一个类似,只是补的字符为padChar。 参数三可以是字符串
还有三个就是leftPad 补充左边
StringUtils.center(String str, int size);
产生一个字符串返回,该字符串长度等于size,str位于新串的中心,其他位置补空格。
如果str为null,则返回null
如果size小于str的长度,则返回str本身
StringUtils.center(String str, int size, char padChar);
同上,填充换成了padChar 也可以是字符串类型
StringUtils.swapCase(String str);
把字符串中的字符大写转换为小写,小写转换为大写
StringUtils.countMatches(String str, String sub);
计算字符串sub在字符串str中出现的次数。
StringUtils.reverse(str);
得到str中字符颠倒后的字符串