java处理字符串工具类

package com.joinsoft.service.utils;


import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.text.DateFormat;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.*;


/**
 * 处理字符串的工具类。
 */

public class StringUtils {



    /**
     *
     * 对string 进行trim,如果值为null返回"",其他情况string.trim()。
     * @param str    待处理的字符串
     * @return
     *
     * @author admin
     * @since 2014年8月14日下午2:17:35
     */
    public static String clean(String str) {
        return org.apache.commons.lang3.StringUtils.trimToEmpty(str);
    }

    /**
     *
     * 返回str.trim(),如果值为null或string.trim()为"",则返回指定的默认值。
     * @param str
     * @param defaultValue 默认值
     * @return
     *
     * @author tyr
     * @since 2014-9-22下午4:19:27
     */
    public static String cleanDefault(String str, int defaultValue) {
        if (isEmpty(clean(str))) {
            return String.valueOf(defaultValue);
        }else {
            return clean(str);
        }
    }

    public static String cleanDefault(String str, String defaultValue) {
        if (isEmpty(clean(str))) {
            return String.valueOf(defaultValue);
        }else {
            return clean(str);
        }
    }

    /**
     *
     * 判断字符串是否为空。
     * 

严格判断字符串是否为空。为空的标准 str==null or str.length()==0

* @param str * @return * * @author admin * @since 2014年8月14日下午2:18:52 */ public static boolean isEmpty(String str) { return org.apache.commons.lang3.StringUtils.isEmpty(str); } /** * * 判断字符串是否不为空。 *

严格判断字符串是否不为空。不为空的标准 str!=null or str.length()!=0

* @param str * @return * * @author admin * @since 2014年8月14日下午2:18:52 */ public static boolean isNotEmpty(String str) { if(equals(str,"null")){ return false; } return !isEmpty(str); } /** * 字符串比对方法,两个比较的字符串都能为空,不会报空指针异常 * @param str1 * @param str2 * @return */ public static boolean equals(String str1,String str2){ return org.apache.commons.lang3.StringUtils.equals(str1,str2); } /** * * 判断字符串是否为空。 *

宽松判断字符串是否为空。为空的标准 [str==null or str.length()==0 && 空格]

* @param str * @return * * @author admin * @since 2014年8月14日下午2:19:32 */ public static boolean isBlank(String str) { if("null".equals(str)){//add by zfx return true; } return org.apache.commons.lang3.StringUtils.isBlank(str); } /** * * 字符串转换为大写形式。 * @param str * @return * * @author admin * @since 2014年8月14日下午2:21:24 */ public static String upperCase(String str) { return org.apache.commons.lang3.StringUtils.upperCase(str); } /** * * 字符串转换为小写形式。 * @param str * @return * * @author admin * @since 2014年8月14日下午2:21:47 */ public static String lowerCase(String str) { return org.apache.commons.lang3.StringUtils.lowerCase(str); } /** * * 对字符串进行反转。 * @param str * @return * * @author admin * @since 2014年8月14日下午2:22:09 */ public static String reverse(String str) { return org.apache.commons.lang3.StringUtils.reverse(str); } /** * * 在字符串中移除指定的字符串 (eg: remove("abc","c")-->"ab")。 * @param str 待处理的字符串 * @param remove 需要移除的字符串 * @return 处理后的字符串 * * @author admin * @since 2014年8月14日下午2:22:30 */ public static String remove(String str, String remove) { return org.apache.commons.lang3.StringUtils.remove(str, remove); } /** * * 判断字符串每位是否为数值 [eg:"abc"-->false "a13"-->false "123"-->true "12.11"-->false]。 * @param str * @return * * @author * @since 2014年8月14日下午2:23:32 */ public static boolean isNumeric(String str) { return org.apache.commons.lang3.StringUtils.isNumeric(str); } /** * * 用指定的字符串补齐足够的长度。 *

%方法详述(简单方法可不必)%

* @param str 需要补齐的字符串 * @param addstr 补齐字符 * @param lenstr 补齐长度 * @return * * @author admin * @since 2014年8月14日下午2:24:59 */ public static String addZero(String str,String addstr, int lenstr) { String value = clean(str); while (value.length() < lenstr) { value = addstr + value; } return value; } /** * * 截取字符串左边的零。 * @param teststr * @return * * @author admin * @since 2014年8月14日下午2:25:49 */ public static String removeZero(String teststr) { String str = clean(teststr); if ("".equals(str)) { return ""; } String tmpStr = str.substring(0, 1); while ("0".equals(tmpStr) && str.length() > 0) { str = str.substring(1, str.length()); tmpStr = str.substring(0, 1); } return str; } /** * * 将str用多个分隔符进行切分。 *

将str用多个分隔符进行切分 * 示例:StringTokenizerUtils.split("1,2;3 4"," ,;") * 返回: ["1","2","3","4"] *

* @param str * @param seperators * @return * * @author admin * @since 2014年8月14日下午2:26:21 */ public static String[] split(String str, String seperators) { StringTokenizer tokenlizer = new StringTokenizer(str, seperators); List result = new ArrayList(); while (tokenlizer.hasMoreElements()) { Object s = tokenlizer.nextElement(); result.add(s); } return (String[]) result.toArray(new String[result.size()]); } /** * * 输入一个字符串,判断是否为空,如果为空设定默认值。 *

* 输入一个字符串,判断是否为空(为空的标准 str==null or str.length()==0 or 字符串为空格 *

* @param str * @param defaultstr * @return * * @author admin * @since 2014年8月14日下午2:28:09 */ public static String defaultIfBlank(String str, String defaultstr) { return org.apache.commons.lang3.StringUtils.defaultIfBlank(str, defaultstr); } /** * * 把数组中的值 转换成sql in需要的形式 ["a","b"]--->('a','b')。 * @param str * @return * * @author * @since 2014年8月14日下午2:38:40 */ public static String toInString(String[] str){ StringBuffer buffer=new StringBuffer(); buffer.append("("); for (int i = 0; i < str.length-1; i++) { buffer.append("'"+str[i]+"',"); } buffer.append("'"+str[str.length-1]+"'"); buffer.append(")"); return buffer.toString(); } /** * * 功能: 对字符串进行前置补0。 *

%方法详述(简单方法可不必)%

* @param str * @param lenstr * @return * * @author * @since 2014-9-5下午4:25:25 */ public static String addZero(String str, int lenstr) { String value = clean(str); while (value.length() < lenstr) { value = "0" + value; } return value; } /** * * 功能: 返回不以科学计算法为显示的double值 * * @return * * 作者:仝玉锐 */ public static String getFomartDouble(double value) { double out = 0.00; DecimalFormat df = new DecimalFormat("0.00"); if (StringUtils.isEmpty(value + "")) { out = 0d; } else { out = new Double(value); } String str = df.format(out); return str; } public static String getFomartDouble(String str) { double out = 0.00; if(StringUtils.isEmpty(str)){ out = 0d; } else { out = new Double(Double.parseDouble(str)); } return getFomartDouble(out); } /** * 通过数组拼接数据项当做条件进行查询, * 返回值 in('',''); * @param dataString 条件 * @param columnName 字段名称 * @return * * @author 杨慕孔 * @since 2018年8月17日上午9:40:58 */ public static String getInCondition(String[] dataString,String columnName){ String str = ""; if(dataString == null || columnName == null ||"".equals(columnName)) return null; if(dataString != null && dataString.length>0){ str = columnName + " in("; for (int i = 0; i < dataString.length; i++) { str +="'"+dataString[i]+"',"; } str = str.substring(0,str.length()-1); str += ")"; } return str; } /*** * FUNCTION: 去掉最后一个字符 * * @param * * @version: 2012-12-14 * **/ public static String removeLastStr(String sourceStr){ if(!StringUtils.isBlank(sourceStr)){ sourceStr = sourceStr.substring(0, sourceStr.length()-1); return sourceStr; } return null; } /** * 将数组转化为list * * @param ids 被转的字符串 * @param splitStr 分隔符 * @return * * @author 高东朋 * @since 2018年9月27日下午2:29:05 */ public static List strTransList(String ids, String splitStr) { if(!StringUtils.isBlank(ids)){ List idList = new ArrayList(); String[] idArr = ids.split(splitStr); if(idArr != null && idArr.length > 0){ for(int t=0;t * 功能描述:通过字节长度截取字符串(截取字符串长度<=字节长度) * * @param text 待截取文本 * @param length 截取字节长度 * @param encode 字符编码 * @return java.lang.String * * @author dc * @date 2019/11/4 */ public static String subStrByByteLen(String text, int length, String encode) throws UnsupportedEncodingException { if (text == null) { return null; } StringBuilder sb = new StringBuilder(); int currentLength = 0; for (char c : text.toCharArray()) { currentLength += String.valueOf(c).getBytes(encode).length; if (currentLength <= length) { sb.append(c); } else { break; } } return sb.toString(); } /** * 方法名:splitStrByByteLen
* 功能描述:通过字节长度切分字符串(分割的字符串长度<=字节长度) * * @param text 待分割文本 * @param length 分割字节长度 * @param encode 字符编码 * @return java.util.List * * @author dc * @date 2019/11/4 */ public static List splitStrByByteLen(String text, int length, String encode) throws UnsupportedEncodingException { if (text == null) { return null; } String content = new String(text); List list = new ArrayList<>(); while(content.length() > 0) { String s = subStrByByteLen(content, length, encode); list.add(s); content = content.substring(s.length()); } return list; } /** * 方法名:splitStr
* 功能描述:通过字符长度切分字符串 * * @param text * @param length * @return java.util.List * * @author dc * @date 2019/11/28 */ public static List splitStr(String text, int length) { if (text == null) { return null; } int size = text.length() / length; if (text.length() % length != 0) { size += 1; } List list = new ArrayList(); for (int index = 0; index < size; index++) { String childStr = substring(text, index * length, (index + 1) * length); list.add(childStr); } return list; } /** * 方法名:substring
* 功能描述: * * @param str * @param beginIndex * @param endIndex * @return java.lang.String * * @author dc * @date 2019/11/28 */ public static String substring(String str, int beginIndex, int endIndex) { if (beginIndex > str.length()){ return null; } if (endIndex > str.length()) { return str.substring(beginIndex, str.length()); } else { return str.substring(beginIndex, endIndex); } } }

你可能感兴趣的:(java)