Java正則表示式過濾漢字
阿新 • • 發佈:2019-02-15
String str = "hello你好嗎,我很好 thank you";
String reg = "[\u2E80-\u9FFF]";
Pattern pat = Pattern.compile(reg);
Matcher mat = pat.matcher(str);
String repickStr = mat.replaceAll("");
System.out.println("過濾中文後: "+repickStr);
Demo:
import java.util.regex.Matcher; import java.util.regex.Pattern; public class T { /** * 過濾字母 * @param alphabet * @return */ public static String filterAlphabet(String alphabet){ return alphabet.replaceAll("[A-Za-z]", ""); } /** * 過濾數字 * @param digital * @return */ public static String filterDigital(String digital){ return digital.replaceAll("[0-9]", ""); } /** * 過濾漢字 * @param chin * @return */ public static String filterChinese(String chin){ return chin.replaceAll("[\\u4e00-\\u9fa5]", ""); } /** * 過濾 字母、數字、漢字 * @param character * @return */ public static String filterAll(String character){ return character.replaceAll("[a-zA-Z0-9\\u4e00-\\u9fa5]", ""); } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String str = "hello你好嗎,我很好 thank you"; String reg = "[\u2E80-\u9FFF]"; Pattern pat = Pattern.compile(reg); Matcher mat = pat.matcher(str); String repickStr = mat.replaceAll(""); System.out.println("過濾中文後: "+repickStr); System.out.println("-----------------"); System.out.println(filterAlphabet("123abc你好")); System.out.println(filterDigital("123abc你好")); System.out.println(filterChinese("123abc你好")); System.out.println(filterAll("123abc你好")); } }