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