1. 程式人生 > >字串處理類StringUtil

字串處理類StringUtil

/*
    *字串處理類
    */
public class StringUtil {

    /*
        *判斷物件是否為空
        */
    public static boolean isEmpty(Object s) {
        if (s == null || "".equals(s)) {
            return true;
        }
        return false;
    }

    /*
        *判斷物件是否不為空
        */
    public static boolean isNotEmpty
(Object s) { if (s == null || "".equals(s)) { return false; } return true; } /* *拼接字串 *arr : 字串陣列 *split :分隔符 *suffix:字串外包裝字元 */ public static String join(String[] arr,String split,String suffix) { StringBuffer buffer = new
StringBuffer(""); for (String s : arr) { buffer.append(suffix); buffer.append(s); buffer.append(suffix); buffer.append(split); } if (buffer.length() > 0) { //刪除某個指定下標的字元 buffer.deleteCharAt(buffer.length() - 1
); } return buffer.toString(); } /* *拼接字串 *lst : 字串集合 *split :分隔符 *suffix:字串外包裝字元 */ public static String join(List<String> lst,String split,String suffix) { StringBuffer buffer = new StringBuffer(""); for (String s : lst) { buffer.append(suffix); buffer.append(s); buffer.append(suffix); buffer.append(split); } if (buffer.length() > 0) { buffer.deleteCharAt(buffer.length() - 1); } return buffer.toString(); } /* *字串拼接 * * */ public static String join(List<String> lst,String split) { return join(lst,split,""); } /* *拼接字串 */ public static String join(String[] arr, String split) { return join(arr,split,""); } /* *拼接字串 */ public static String join(String arr,String splix,String suffix) { if (arr != null) { return join(arr.split(","),split,suffix); } else { return ""; } } /* *判斷字串是否是數值 */ public static boolean isNumber(String str) { Pattern pattern = Pattern.complie("^[0-9]+(.[0-9]*)?$"); Matcher match = pattern.matcher(str); return match.matches(); } /* *根據長度擷取字串 */ public static String subStringEx(String data,int len,String prefix) { if (data == null || "".equals(data)) { return null; } String afterfix = "..."; try { //使用GBK字元編碼轉成位元組碼 byte[] bytes = data.getBytes("GBK"); StringBuilder sb = new StringBuilder(); if (prefix != null && !"".equals(prefix)) { //在擷取長度中去掉字首的長度 len -= prefix.getBytes("GBK").length; //存取字首 sb.append(prefix); } if (bytes.length <= len) { //當字串長度小於擷取長度,則將原本的字串拼接進去 sb.append(data); } else { //如果字串長度大於擷取長度,則有部分資料要處理 //擷取長度去除字尾長度 len -= afterfix.getBytes("GBK").length; if (bytes[len] < 0) { //如果當前長度的位元組為空,則將擷取長度前移 //如果前一個還為空?怎麼辦? //如果前一個可以為空,那麼這一步存在的意義? //如果想要獲得它的最後一個位元組,為什麼不用bytes.length-1? len --; } //以GBK編碼構建原位元組陣列的指定長度 String s = new String(bytes,0,len,"GBK"); //將新字串拼接到返回結果中 sb.append(s); //拼接字尾 sb.append(afterfix); } //如果不發生異常,則直接將結果返回 return sb.toString(); } catch (Exception e) { //出現異常,直接返回空 return ""; } } /* *in 條件查詢時拼接問號和引數 */ public static String inParamToQuestionMarkAndParam(String parameters,List<Object> paramList) { StringBuffer sb = new StringBuffer(); for (String parameter : parameters.split(",")) { sb.append("?,"); paramList.add(parameter); } sb.deleteCharAt(sb.length() - 1); return sb.toString(); } }