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) { // TODO Auto-generated catch block e.printStackTrace(); } return str.substring(0,num); } }