Apache Commons Lang库中StringUtils类用法总结

org.apache.commons.lang.StringUtils 是 Apache Commons Lang 库中的一个非常有用的类,它为操作和检查String提供了大量的静态方法。这里我将概述这个类中一些常用方法的用途和基本用法。

1、空白检查

isEmpty(String str): 如果给定的字符串为null或者长度为0(即为空字符串""),则返回true。否则返回false

StringUtils.isEmpty(null); // true
StringUtils.isEmpty(""); // true
StringUtils.isEmpty(" "); // false
StringUtils.isEmpty("bob"); // false

isNotBlank(String str): 如果给定的字符串不是空白、不是空字符串""、也不是null,则返回true。否则返回false

StringUtils.isNotBlank(null); // false
StringUtils.isNotBlank(""); // false
StringUtils.isNotBlank(" "); // false
StringUtils.isNotBlank("bob"); // true
StringUtils.isNotBlank("  bob  "); // true

2、修剪 

trim(String str): 除去字符串前后的控制字符(小于等于U+0020的字符)。如果字符串是null,则返回null

StringUtils.trim(null); // null
StringUtils.trim(""); // ""
StringUtils.trim("     "); // ""
StringUtils.trim("abc"); // "abc"
StringUtils.trim("    abc    "); // "abc"

trimToEmpty(String str): 和trim()方法类似,但是如果原字符串为null,则返回空字符串""。

StringUtils.trimToEmpty(null); // ""
StringUtils.trimToEmpty(""); // ""
StringUtils.trimToEmpty("     "); // ""
StringUtils.trimToEmpty("abc"); // "abc"
StringUtils.trimToEmpty("    abc    "); // "abc"

3、比较和替换 

equals(String str1, String str2): 比较两个字符串是否相等,完全匹配,区分大小写。只有在两个字符串都是null的情况下才返回true

StringUtils.equals(null, null); // true
StringUtils.equals(null, "abc"); // false
StringUtils.equals("abc", null); // false
StringUtils.equals("abc", "abc"); // true
StringUtils.equals("abc", "ABC"); // false

replace(String text, String searchString, String replacement): 在text字符串中,将所有匹配searchString的地方替换成replacement。如果任一输入是null,则返回原字符串。

StringUtils.replace(null, "*", ""); // null
StringUtils.replace("any", null, ""); // "any"
StringUtils.replace("any", "*", null); // "any"
StringUtils.replace("any", "", null); // "any"
StringUtils.replace("aba", "a", null); // "aba"
StringUtils.replace("aba", "a", ""); // "b"
StringUtils.replace("aba", "a", "z"); // "zbz"

4、查找和切割

substring(String str, int start, int end): 截取字符串的一部分,从索引start(包含)开始到索引end(不包含)。startend可以为负数,表示从字符串末尾开始计算位置。如果字符串为null,则返回null

StringUtils.substring(null, 0, 2); // null
StringUtils.substring("", 0, 2); // ""
StringUtils.substring("abc", 0, 2); // "ab"
StringUtils.substring("abc", 2, 0); // ""
StringUtils.substring("abc", 2, 4); // "c"
StringUtils.substring("abc", 4, 6); // ""
StringUtils.substring("abc", 2, 2); // ""
StringUtils.substring("abc", -2, -1); // "b"
StringUtils.substring("abc", -4, 2); // "ab"

5、字符串连接

join(Object[] array, char separator): 将对象数组中的元素连接为一个字符串,使用指定的分隔符。

StringUtils.join(new String[]{"a", "b", "c"}, '-'); // "a-b-c" 
StringUtils.join(new Object[]{1, 2, 3}, ','); // "1,2,3"

6、字符串重复

repeat(String str, int repeat): 将给定的字符串重复N次。

StringUtils.repeat("ab", 2); // "abab" 
StringUtils.repeat("a", 3); // "aaa" 
StringUtils.repeat("-", 5); // "-----"

7、字符串中字符的数量

countMatches(CharSequence str, CharSequence sub): 返回子字符序列在父字符序列中出现的次数。

StringUtils.countMatches("abba", "a"); // 2 
StringUtils.countMatches("abba", "ab"); // 1 
StringUtils.countMatches("abba", "x"); // 0

8、判断字符串是否只含有某类型字符

isAlpha(String str): 检查字符串中是否只含有字母字符,空字符串将返回false

StringUtils.isAlpha(null); // false 
StringUtils.isAlpha(""); // false 
StringUtils.isAlpha(" "); // false 
StringUtils.isAlpha("abc"); // true

isNumeric(String str): 检查字符串中是否只含有数字字符,空字符串将返回false

StringUtils.isNumeric(null); // false 
StringUtils.isNumeric(""); // false 
StringUtils.isNumeric("123"); // true 
StringUtils.isNumeric("12 3"); // false 
StringUtils.isNumeric("ab2c"); // false

isAlphanumeric(String str): 检查字符串是否只含有字母和数字,空字符串将返回false

StringUtils.isAlphanumeric(null); // false 
StringUtils.isAlphanumeric(""); // false 
StringUtils.isAlphanumeric("ab23c"); // true 
StringUtils.isAlphanumeric("ab c"); // false

9、字符串填充

rightPad(String str, int size, char padChar): 将指定字符填充到字符串右侧,直到达到指定的长度。

StringUtils.rightPad("bat", 5, 'z'); // "batzz" 
StringUtils.rightPad("bat", 5, ' '); // "bat " 
StringUtils.rightPad("bat", 3, 'z'); // "bat"

leftPad(String str, int size, char padChar): 将指定字符填充到字符串左侧,直到达到指定的长度。

StringUtils.leftPad("bat", 5, 'z'); // "zzbat" 
StringUtils.leftPad("bat", 5, ' '); // " bat" 
StringUtils.leftPad("bat", 3, 'z'); // "bat"

10、字符串大小写转换

capitalize(String str): 将字符串的首字母大写,其余字母小写。

StringUtils.capitalize("cat"); // "Cat" 
StringUtils.capitalize("cAt"); // "Cat" 
StringUtils.capitalize("Cat"); // "Cat"

uncapitalize(String str): 将字符串的首字母小写,其余字母不变。

StringUtils.uncapitalize("Cat"); // "cat" 
StringUtils.uncapitalize("CAT"); // "cAT"

upperCase(String str): 将字符串中的所有字母转换为大写。

StringUtils.upperCase("Cat"); // "CAT" 
StringUtils.upperCase("cat"); // "CAT"

lowerCase(String str): 将字符串中的所有字母转换为小写。

StringUtils.lowerCase("Cat"); // "cat" 
StringUtils.lowerCase("CAT"); // "cat"

org.apache.commons.lang.StringUtils包含大量方法,只列举一部分,其余的方法建议查阅最新的文档或源代码以获取完整的方法列表和各自的详细描述。

  • 24
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值