apache的字符串工具类StringUtils

发布时间 2023-11-26 11:12:17作者: 残城碎梦

org.apache.commons.lang3.StringUtils。

<!-- StringUtils、NumberUtils等工具类 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.10</version>
</dependency>

判空isEmpty、isNotEmpty、isBlank、isNotBlank

isEmpty和isNotEmpty是判断字符串是否为空,那isEmpty和isBlank有什么区别呢?

isEmpty没有忽略空格空串" ",因此对于" "的判空,两者是截然相反的。

boolean flag1 = StringUtils.isEmpty("1");
boolean flag2 = StringUtils.isEmpty("");
boolean flag3 = StringUtils.isEmpty(" ");//false
boolean flag4 = StringUtils.isEmpty(null);
//输出:false true false true
boolean flag5 = StringUtils.isBlank("1");
boolean flag6 = StringUtils.isBlank("");
boolean flag7 = StringUtils.isBlank(" ");//true
boolean flag8 = StringUtils.isBlank(null);
//输出:false true true true

是否纯数字StringUtils.isNumeric

boolean flag1 = StringUtils.isNumeric("1");
//输出:true

负数或浮点数无法无法判断

分割字符串StringUtils.split

分割字符串是比较常见的场景,很多朋友会问,为什么不直接用String.split。

因为当字符串为空时,StringUtils.split返回null,str.split会报空指针异常。

String[] arr = StringUtils.split("1,2,3",",");
//输出:1 2 3
String[] arr = StringUtils.split(null,",");
//输出:null
String[] arr = str1.split(",");
//输出:java.lang.NullPointerException

集合转指定符号拼接的字符串StringUtils.join

List<String> list = Lists.newArrayList("1", "2", "3");
String str = StringUtils.join(list, ",");
//输出:1,2,3

将字符串首字符转换为大写StringUtils.capitalize

String str = StringUtils.capitalize("abc");
//输出:Abc
String str = StringUtils.uncapitalize("ABC");
//输出:aBC

符串前后截取指定字符StringUtils.strip

String str = StringUtils.strip("|123|", "|");
//输出:123

判断字符串与多个字符串进行比较StringUtils.equalsAny

boolean flag = StringUtils.equalsAny("123", "12", "123");
//输出:true
boolean flag = StringUtils.equalsAnyIgnoreCase("ABC", "aBC", "B");
//输出:true

判断字符串是否以多个字符串中任意一个开头StringUtils.startsWithAny

boolean flag = StringUtils.startsWithAny("123", new String[] { "2", "1", "" });
//输出:true
boolean flag = StringUtils.startsWithIgnoreCase("abc", "A");
//输出:true

截取字符串指定字符之前的内容StringUtils.left

String str = StringUtils.left("abc", 2);
//输出:ab
String str =  StringUtils.right("abc", 2);
//输出:bc

删除字符串中空白字符

String str = StringUtils.deleteWhitespace(" 1 2 3 ");
//输出:123