有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

unicode在java中检测汉字

使用Java如何检测字符串是否包含汉字

    String chineseStr = "已下架" ;

if (isChineseString(chineseStr)) {
  System.out.println("The string contains Chinese characters");
}else{
  System.out.println("The string contains Chinese characters");
}

你能帮我解决这个问题吗


共 (3) 个答案

  1. # 1 楼答案

    现在Character.isIdeographic(int codepoint)会告诉我们这个代码点是不是一个CJKV(中文、日语、韩语和越南语)表意文字

    更接近的是使用字符。独角兽。韩

    因此:

    System.out.println(containsHanScript("xxx已下架xxx"));
    
    public static boolean containsHanScript(String s) {
        for (int i = 0; i < s.length(); ) {
            int codepoint = s.codePointAt(i);
            i += Character.charCount(codepoint);
            if (Character.UnicodeScript.of(codepoint) == Character.UnicodeScript.HAN) {
                return true;
            }
        }
        return false;
    }
    

    或者在java 8中:

    public static boolean containsHanScript(String s) {
        return s.codePoints().anyMatch(
                codepoint ->
                Character.UnicodeScript.of(codepoint) == Character.UnicodeScript.HAN);
    }