用Pattern 和Matcher 搞定

String REG_EX = "[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";
String str = "!@#$%^&*()~`:;<>,.?/";
Pattern p = Pattern.compile(REG_EX);
Matcher m = p.matcher(str);//str待过滤的字符串
String result = m.replaceAll("").trim();//把得到特殊字符替换成空字符,就过滤掉了