Apache Commons StringUtils详解

发布时间:2023-05-22

一、字符串操作

1、startsWith()、endsWith()方法

//判断字符串开头是否是abc
StringUtils.startsWith("abcde", "abc");//true
//判断字符串结尾是否是de
StringUtils.endsWith("abcde", "de");//true

2、substring()方法

//返回字符串的子串
StringUtils.substring("abcdefghi", 2, 5);//cde

3、split()方法

//按照指定分隔符分割字符串
StringUtils.split("a,b,c,d,e", ",");//["a", "b", "c", "d", "e"]

二、字符串处理

1、trim()、strip()方法

//去除字符串头尾的空格
StringUtils.trim(" abc ");//"abc"
//去除字符串头尾的指定字符
StringUtils.strip(" abc ", "c");//" ab "

2、replace()、replaceEach()方法

//替换指定的字符串
StringUtils.replace("abcabc", "a", "x");//"xbcxbc"
//批量替换指定的字符串
StringUtils.replaceEach("abc", new String[]{"a", "b"}, new String[]{"x", "y"});//"xyc"

3、reverse()方法

//反转字符串
StringUtils.reverse("abcdefg");//"gfedcba"

三、字符串判断

1、isEmpty()、isBlank()方法

//判断字符串是否为空
StringUtils.isEmpty(null);//true
StringUtils.isEmpty("");//true
StringUtils.isEmpty(" ");//false
//判断字符串是否为空或者只包含空格
StringUtils.isBlank(null);//true
StringUtils.isBlank("");//true
StringUtils.isBlank(" ");//true

2、contains()方法

//判断字符串中是否包含指定的字符
StringUtils.contains("abc", "b");//true

3、isNumeric()方法

//判断字符串是否为数字
StringUtils.isNumeric("123");//true

四、字符串比较

1、equals()、equalsIgnoreCase()方法

//比较两个字符串是否相等
StringUtils.equals("abc", "abc");//true
StringUtils.equals(null, null);//true
StringUtils.equals("abc", "abcd");//false
//忽略大小写比较两个字符串是否相等
StringUtils.equalsIgnoreCase("abc", "ABC");//true

2、compare()、compareIgnoreCase()方法

//比较两个字符串的大小
StringUtils.compare("abc", "bcd");//-1
StringUtils.compare("abc", "abc");//0
StringUtils.compare("bcd", "abc");//1
//忽略大小写比较两个字符串的大小
StringUtils.compareIgnoreCase("abc", "ABC");//0

五、字符串生成

1、repeat()方法

//多次重复生成字符串
StringUtils.repeat("abc", 3);//"abcabcabc"

2、join()、joinWith()方法

//使用指定分隔符拼接字符串
StringUtils.join(new String[]{"a", "b", "c"}, ",");//"a,b,c"
StringUtils.joinWith(",", "a", "b", "c");//"a,b,c"

3、random()方法

//生成指定长度的随机字符串
StringUtils.random(6);//"fdJ8kU"

六、转换

1、upperCase()、lowerCase()方法

//将字符串转换成大写
StringUtils.upperCase("abc");//"ABC"
//将字符串转换成小写
StringUtils.lowerCase("ABC");//"abc"

2、capitalize()、uncapitalize()方法

//将字符串首字母大写
StringUtils.capitalize("abc");//"Abc"
//将字符串首字母小写
StringUtils.uncapitalize("Abc");//"abc"

七、其他

1、abbreviate()方法

//将字符串缩短到指定长度,并使用指定的省略号表示省略部分
StringUtils.abbreviate("abcdefg", 5);//"a..."

2、compareVersions()方法

//比较两个版本号的大小
StringUtils.compareVersions("1.2.3", "1.2.4");//-1

3、ordinalIndexOf()方法

//查找指定字符串在字符串中第n次出现的位置
StringUtils.ordinalIndexOf("abcbcbc", "b", 3);//5

4、substringsBetween()方法

//获取两个字符串之间的所有子串
StringUtils.substringsBetween("abcdebcfghcdei", "c", "e");//["debcfgh"]

八、总结

Apache Commons StringUtils提供了丰富的字符串操作方法,包括字符串的查找、替换、处理、比较、生成、转换等多个方面。在日常开发中可以大量用到这些方法,提高效率,减少冗余代码。