import java.io.UnsupportedEncodingException;
import org.apache.commons.lang.StringUtils;
public class StringUtil {
/**
* 判断字符串是否为空
* @param str
* null、“ ”、“null”都返回true
* @return
*/
public static boolean isNullString(String str) {
return (null == str || StringUtils.isBlank(str.trim()) || "null".equals(str.trim().toLowerCase())) ? true : false;
}
/**
* 格式化字符串
* 如果为空,返回“”
* @param str
* @return
*/
public static String formatString(String str) {
if(isNullString(str)) {
return "";
} else {
return str;
}
}
/**
* 截取字符串,字母、汉字都可以,汉字不会截取半
* @param str 字符串
* @param n 截取的长度,字母数,如果为汉字,一个汉字等于两个字母数
* @return
*/
public static String subStringByByte(String str, int n) {
int num = 0;
try {
byte[] buf = str.getBytes("GBK");
if (n >= buf.length) {
return str;
}
boolean bChineseFirstHalf = false;
for (int i = 0; i < n; i++) {
if (buf[i] < 0 && !bChineseFirstHalf) {
bChineseFirstHalf = true;
} else {
num++;
bChineseFirstHalf = false;
}
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return str.substring(0, num);
}
/**
* Created by zhoujun on 2014/5/30
* 验证输入的是否是数字
* @param num 字符串数字
* @return
*
*/
public static boolean inputIsNum(final String num) {
boolean flag = true;
try {
Long.valueOf(num);
} catch (Exception e) {
flag = false;
}
return flag;
}
public static boolean inputIsDouble(String num){
boolean flag = true;
try {
Double.valueOf(num);
} catch (Exception e) {
flag = false;
}
return flag;
}
/**
* 替换中间字符串
* @param str
* @param n
* @return
*/
public static String replaceSubString(String str,int n){
String repaceStr="";
try {
//前n位
String headStr = str.substring(0, n);
//后n位
String lastStr = str.substring(str.length() - n, str.length());
/**
* 中间的字符串替换*
*/
StringBuffer sb = new StringBuffer();
for (int i = 0; i < str.length()-2*n; i++) {
sb = sb.append("*");
}
repaceStr= headStr+sb.toString()+lastStr;
} catch (Exception e) {
e.printStackTrace();
}
return repaceStr;
}
}
import org.apache.commons.lang.StringUtils;
public class StringUtil {
/**
* 判断字符串是否为空
* @param str
* null、“ ”、“null”都返回true
* @return
*/
public static boolean isNullString(String str) {
return (null == str || StringUtils.isBlank(str.trim()) || "null".equals(str.trim().toLowerCase())) ? true : false;
}
/**
* 格式化字符串
* 如果为空,返回“”
* @param str
* @return
*/
public static String formatString(String str) {
if(isNullString(str)) {
return "";
} else {
return str;
}
}
/**
* 截取字符串,字母、汉字都可以,汉字不会截取半
* @param str 字符串
* @param n 截取的长度,字母数,如果为汉字,一个汉字等于两个字母数
* @return
*/
public static String subStringByByte(String str, int n) {
int num = 0;
try {
byte[] buf = str.getBytes("GBK");
if (n >= buf.length) {
return str;
}
boolean bChineseFirstHalf = false;
for (int i = 0; i < n; i++) {
if (buf[i] < 0 && !bChineseFirstHalf) {
bChineseFirstHalf = true;
} else {
num++;
bChineseFirstHalf = false;
}
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return str.substring(0, num);
}
/**
* Created by zhoujun on 2014/5/30
* 验证输入的是否是数字
* @param num 字符串数字
* @return
*
*/
public static boolean inputIsNum(final String num) {
boolean flag = true;
try {
Long.valueOf(num);
} catch (Exception e) {
flag = false;
}
return flag;
}
public static boolean inputIsDouble(String num){
boolean flag = true;
try {
Double.valueOf(num);
} catch (Exception e) {
flag = false;
}
return flag;
}
/**
* 替换中间字符串
* @param str
* @param n
* @return
*/
public static String replaceSubString(String str,int n){
String repaceStr="";
try {
//前n位
String headStr = str.substring(0, n);
//后n位
String lastStr = str.substring(str.length() - n, str.length());
/**
* 中间的字符串替换*
*/
StringBuffer sb = new StringBuffer();
for (int i = 0; i < str.length()-2*n; i++) {
sb = sb.append("*");
}
repaceStr= headStr+sb.toString()+lastStr;
} catch (Exception e) {
e.printStackTrace();
}
return repaceStr;
}
}