StringUtils工具类常用方法

添加依赖

<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中字符颠倒后的字符串

  • 9
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值