當返回資料中包含英文和中文,只獲取中文並顯示的方法
阿新 • • 發佈:2019-02-17
有這麼一個需求當伺服器返回的資料中包含中文和英文的時候,只顯示把中文顯示出來(只獲取中文內容)。
看程式碼:
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更具傳入的字串,迴圈遍歷字串中每個字元 在更具每個字元的UnicodeBlock碼來判斷是否包含在中文的取值範圍內,若包含就返回true,然後通過StringBuilder可變可操作字元的特性對中文字元做拼接操作,最後返回。(可以寫在工具類中)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; }