JAVA 過濾非法字元(積累)
阿新 • • 發佈:2018-12-16
1、字串轉為char陣列,然後逐一進行判斷,符合的字元保留。
public static String decodeby10(String str) { StringBuffer out = new StringBuffer(); if (str == null || ("".equals(str))) return ""; char[] chars = str.toCharArray(); for(int i = 0; i < chars.length; i ++) { if((chars[i] >= 19968 && chars[i] <= 40869) //中日朝相容形式的unicode編碼範圍: U+4E00——U+9FA5 || (chars[i] >= 11904 && chars[i] <= 42191)//中日朝相容形式擴充套件 || (chars[i] >= 63744 && chars[i] <= 64255)//中日朝相容形式擴充套件 || (chars[i] >= 65072 && chars[i] <= 65103)//中日朝相容形式擴充套件 || (chars[i] >= 65280 && chars[i] <= 65519)//全形ASCII、全形中英文標點、半寬片假名、半寬平假名、半寬韓文字母的unicode編碼範圍:U+FF00——U+FFEF || (chars[i] >= 32 && chars[i] <= 126)//半形字元的unicode編碼範圍:U+0020-U+007e || (chars[i] >= 12289 && chars[i] <= 12319)//全形字元的unicode編碼範圍:U+3000——U+301F ) { out.append(chars[i]); } } String result=out.toString().trim(); result=result.replaceAll("\\?", "").replaceAll("\\*", "").replaceAll("<|>", "").replaceAll("\\|", "").replaceAll("/", ""); return result; }