1. 程式人生 > >當返回資料中包含英文和中文,只獲取中文並顯示的方法

當返回資料中包含英文和中文,只獲取中文並顯示的方法

有這麼一個需求當伺服器返回的資料中包含中文和英文的時候,只顯示把中文顯示出來(只獲取中文內容)。

看程式碼:

public static String checkString(String str) {
    StringBuilder res = new StringBuilder();
    if (str != null) {
        for (int i = 0; i < str.length(); i++) {
            //只要字串中有中文則為中文
if (isChinese(str.charAt(i))) {
                res.append(str.charAt(i));
            }
        }
    }
    return 
res.toString(); } //判斷是不是中文 public static boolean isChinese(char c) { Character.UnicodeBlock ub = Character.UnicodeBlock.of(c); if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
|| ub == Character.UnicodeBlock.GENERAL_PUNCTUATION || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) { return true; } return false; }
更具傳入的字串,迴圈遍歷字串中每個字元 在更具每個字元的UnicodeBlock碼來判斷是否包含在中文的取值範圍內,若包含就返回true,然後通過StringBuilder可變可操作字元的特性對中文字元做拼接操作,最後返回。(可以寫在工具類中)