StringUtils用法

本文详细介绍了StringUtils工具类中几个常用的方法,包括空字符串检查、去除开始和结尾的空字符、颠倒字符串以及判断字符串内容的类型等。通过示例代码展示了每个方法的功能及使用方式。

       StringUtils依赖于commons-lang3这个jar

(1)空字符串检查

public static boolean isBlank(CharSequence cs)
          源码:

public static boolean isBlank(CharSequence cs) {
        int strLen;
        if (cs == null || (strLen = cs.length()) == 0) {
            return true;
        }
        for (int i = 0; i < strLen; i++) {
            if (Character.isWhitespace(cs.charAt(i)) == false) {
                return false;
            }
        }
        return true;
    }
        可以看出,实际上就是先判断是否==null和长度是否等于0,再判断是不是全部都是空格。


(2)去除开始和结尾的空字符

public static boolean isBlank(CharSequence cs)
            举例:

	@Test
	public void test() 
	{
		String test1 = "\t";
	    String test2 = "  A  Test  ";
	    String test3 = null;

	    System.out.println(StringUtils.trimToNull( test1 ) );
	    System.out.println(StringUtils.trimToNull( test2 ) );
	    System.out.println(StringUtils.trimToNull( test3 ) );
	}
             结果为:

null
A  Test
null


(3)颠倒字符串

String StringUtils.reverse(String str)
          例子:

	@Test
	public void test() 
	{
	    System.out.println( StringUtils.reverse("ABCDE"));
	}
          结果为:

EDCBA


(4)判断字符串内容的类型

boolean StringUtils.isNumeric(CharSequence cs)  //是否全由数字组成

boolean StringUtils.isAlpha(CharSequence cs)    //是否全由字母组成

boolean StringUtils.isAlphanumeric(CharSequence cs) //是否全由字母或数字组成

boolean StringUtils.isAlphaSpace(CharSequence cs)  //是否全由字母或空格组成
        例子:

	@Test
	public void test() 
	{
	    String state = "Virginia";
	    System.out.println( "Is state number? " + StringUtils.isNumeric(state ) );
	    System.out.println( "Is state alpha? " + StringUtils.isAlpha( state ));
	    System.out.println( "Is state alphanumeric? " +StringUtils.isAlphanumeric( state ) );
	    System.out.println( "Is state alphaspace? " + StringUtils.isAlphaSpace( state ) );
	}
      结果为:

Is state number? false
Is state alpha? true
Is state alphanumeric? true
Is state alphaspace? true


StringUtils 工具类是 Apache Commons Lang 库中的一个非常实用的组件,它极大地简化了 Java 开发中字符串操作的复杂性。该工具类提供了大量的静态方法来处理字符串的各种需求,包括但不限于判空、转换、移除、替换、反转等操作[^2]。 ### 判空 - `StringUtils.isEmpty(String str)` 方法可以用来判断一个字符串是否为空或 null。 - `StringUtils.isNotBlank(String str)` 则进一步检查字符串是否不仅非空而且包含非空白字符。 ### 转换 - `StringUtils.abbreviate(String str, int maxWidth)` 可以将长字符串截断为指定宽度,并添加省略号表示被截断的内容。 - `StringUtils.capitalize(String str)` 会把字符串首字母转成大写。 - `StringUtils.uncapitalize(String str)` 则相反,把首字母转小写。 ### 移除 - 使用 `StringUtils.remove(String str, char remove)` 或 `StringUtils.remove(String str, String remove)` 可以从字符串中删除特定的字符或子串。 - 对于更具体的场景,如需要移除开头或结尾匹配的字符序列,可使用 `StringUtils.removeStart(String str, String remove)` 和 `StringUtils.removeEnd(String str, String remove)` 方法[^3]。 ### 替换 - `StringUtils.replace(String text, String searchString, String replacement)` 允许用新的子串替换旧的子串。 - 如果只想替换第一次出现的情况,则可以用 `StringUtils.replaceOnce(String text, String searchString, String replacement)`。 ### 反转 - `StringUtils.reverse(String str)` 方法能够快速地反转给定的字符串。 ### 截取 - 获取指定字符或字符序列在字符串中第一次出现的位置可以通过 `StringUtils.indexOf(String str, String searchStr)` 实现。 - 若要获取最后一次出现的位置,则使用 `StringUtils.lastIndexOf(String str, String searchStr)`。 ### 包含 - 检查某个字符串是否包含另一个字符串可以利用 `StringUtils.contains(String str, String searchStr)` 方法。 这些只是 StringUtils 提供的部分功能。每个方法都有其独特的用途,而且通常都考虑到了边界条件和异常情况的处理,使得开发者无需额外编写冗余代码来应对这些问题。对于详细的使用教程以及更多可用的方法,请参考官方文档或者相关技术博客上的示例说明。 ```java // 示例:去除字符串两端的空格 String original = " Hello World! "; String trimmed = StringUtils.trim(original); System.out.println(trimmed); // 输出: Hello World! ``` 上述代码片段展示了如何使用 `StringUtils.trim()` 方法去除字符串两端的空白字符[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值