字符串公用类

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;
}

}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值