StringUtils

本文介绍了一个实用的字符串工具类,包含多个用于处理字符串的方法,如判断字符串是否为空、分割字符串等。这些工具方法能帮助开发者简化字符串操作流程,提高开发效率。

 

字符串工具类:

 

package com.jusfoun.dandelion.platform.common.util;


import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * 字符串工具类
 * @author admin
 *
 */
public class StringUtils {
	
    public static boolean isEmpty(String str) {
        return str == null || str.length() == 0;
    }

    /**
     * 判断为非空
     * @param str
     * @return
     */
    public static boolean isNotEmpty(String str) {
        return !isEmpty(str);
    }

    public static boolean isNotEmpty2(String str) {
        return !isEmpty2(str);
    }
    //空字符串也为空
    public static boolean isEmpty2(String str) {
        return str == null || str.trim().length() == 0;
    }

    public static List<String> splitStr( String str , String splitChar ){
    	if(isEmpty(str) ){
    		return null; 
    	}
    	return  Arrays.asList( str.split(splitChar) )  ;
    }

    public static List<Integer> splitInt( String str , String splitChar ){
        if(isEmpty(str) ){
            return null;
        }
        List<Integer> list = new ArrayList<Integer>() ;

        String[] strs =  str.split(splitChar);
        for(String s : strs){
            list.add( Integer.parseInt( s));
        }
        return  list  ;
    }

    public static String toSplitStr(List<String>  list,String splitchar ){
        if(list==null || list.size()==0){
            return null ;
        }

        StringBuilder sb = new StringBuilder() ;
        for(String str : list ){
            sb.append(",").append(str) ;
        }


        return sb.substring(1);

    }

    /**
     * 根据文件名称 切分文件的名称和后缀
     * @param fileName
     * @return
     */
    public static String[] getFileInfoByFileName(String fileName){
        if(StringUtils.isEmpty( fileName)){
            return null ;
        }
        if( fileName.indexOf(".")==-1){
            return null ;
        }
        return fileName.split("\\.");
    }

    /**
     * 将 字段 添加 '符号

     * @return
     */
    public static String convertStr(List<String> fields ){
        StringBuffer sb = new StringBuffer() ;
        for(int i=0;i<fields.size() ;i++  ){
            String field = fields.get(i);
            if(isNotEmpty( field )){
                sb.append(",'").append( field ).append("'");
            }
        }


        return  sb.substring(1) ;
    }

//    public static void main(String[] args) {
//        List list = new ArrayList(  splitStr("ewr",",")  );
//        System.out.print( convertStr(list) );
//
//    }
}

 

### StringUtils 类的功能概述 `StringUtils` 是 Apache Commons Library 中的一部分,属于 `org.apache.commons.lang3` 包下的工具类[^2]。该类主要用于简化字符串操作,提供了许多静态方法来处理常见的字符串问题。这些方法能够帮助开发者更高效地完成字符串的判断、转换和格式化等工作。 以下是 `StringUtils` 的主要功能分类及其描述: #### 1. 字符串判空 `StringUtils` 提供了一系列用于检测字符串是否为空或者仅包含空白字符的方法。例如: - `isEmpty(String str)`:如果字符串为 null 或长度为零,则返回 true。 - `isNotEmpty(String str)`:与 isEmpty 方法相反,当字符串不为空时返回 true。 - `isBlank(String str)`:如果字符串为 null 或者只包含空白字符(如空格),则返回 true。 - `isNotBlank(String str)`:与 isBlank 方法相反,当字符串既不是 null 又含有非空白字符时返回 true。 ```java System.out.println(StringUtils.isEmpty(null)); // 输出: true System.out.println(StringUtils.isBlank("")); // 输出: true System.out.println(StringUtils.isNotBlank("abc")); // 输出: true ``` #### 2. 去除多余字符 此类方法可以帮助去除字符串两端或内部多余的空白字符及其他指定字符。 - `trim(String str)`:移除字符串首尾的空白字符。 - `strip(String str, String stripChars)`:删除字符串开头和结尾处由参数定义的一组字符。 - `removeStart(String str, String remove)` 和 `removeEnd(String str, String remove)`:分别去掉字符串前缀或后缀部分匹配的内容。 ```java String result = StringUtils.strip(" Hello World! ", " H!"); // 结果:"ello World" ``` #### 3. 大小写转换 通过调用以下函数实现大小写的统一管理。 - `upperCase(String str)` - `lowerCase(String str)` ```java System.out.println(StringUtils.upperCase("hello")); // HELLO System.out.println(StringUtils.lowerCase("WORLD")); // world ``` #### 4. 子串查找与替换 支持灵活定位子序列位置以及批量替换单词等功能。 - `contains(CharSequence seq, CharSequence searchSeq)` - `replaceEachRepeatedly(String text, String[] searchList, String[] replacementList)` ```java boolean foundA = StringUtils.contains("ABCDEF", 'A'); // true String replacedText = StringUtils.replaceEachRepeatedly( "a_b_c_", new String[]{"_"}, new String[]{"/"}); // a/b/c/ ``` #### 5. 随机生成器 利用随机数种子创建固定长度的新密码或者其他形式的数据片段。 - `RandomStringUtils.random(int count)` - `RandomStringUtils.randomAlphabetic(int count)` ```java String randomStr = RandomStringUtils.random(8); System.out.println(randomStr.length()); // 8 ``` --- ### 使用场景举例 假设我们需要开发一款应用程序,在其中验证用户输入邮箱地址的有效性并清理数据。我们可以借助于 `StringUtils` 来快速构建逻辑框架如下所示: ```java public boolean isValidEmail(String email){ if (StringUtils.isBlank(email)) { return false; } String trimmedEmail = StringUtils.trim(email); int atIndex = trimmedEmail.indexOf("@"); ... } ``` 上述代码展示了如何运用 `StringUtils.isBlank()` 判断字段是否存在有效值;再经过去掉冗余空间之后进一步分析结构特性等等。 --- ### 总结 综上所述,Apache Commons Lang 库内的 `StringUtils` 已成为众多 Java 开发人员日常工作中不可或缺的好帮手之一。凭借其丰富的预设算法集合,极大地减少了重复编码量的同时提高了程序可读性和稳定性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值