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