当前位置: 首页 > 面试题库 >

在Java中检测中文字符

章宏恺
2023-03-14
问题内容

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

    String chineseStr = "已下架" ;

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

您能帮我解决问题吗?


问题答案:

现在Character.isIdeographic(int codepoint)可以告诉我们代码点是CJKV(中文,日文,韩文和越南文)表意文字。

最近使用的是Character.UnicodeScript.HAN。

所以:

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);
}


 类似资料:
  • 本文向大家介绍java实现检测是否字符串中包含中文,包括了java实现检测是否字符串中包含中文的使用技巧和注意事项,需要的朋友参考一下 代码非常实用,这里就不错废话,直接奉上 主要功能是实现判断字符串是否包含汉字 并且替换成ASCLL 我们来看个稍微简单些的代码,一些需求不高的地方可以用到 最后我们附上各种字符的unicode编码的范围:      * 汉字:[0x4e00,0x9fa5](或十进

  • 问题内容: 我有一个输入String说。许多浏览器/ IDE /应用程序都会检测到字符串的url部分,并自动添加锚点。这样就变成了。 我需要使用Java进行相同的操作。 问题答案: 为此使用java.net.URL! 嘿,为什么不对这个“ java.net.URL”使用Java的核心类,而让它验证URL。 尽管以下代码违反了“仅在特殊情况下使用异常”这一黄金原则,但对Java平台上已经成熟的某些东

  • 我有带有Reddit评论的BigQuery数据集。它有多个列,其中一个是包含实际注释的正文列。我现在想搜索某个单词,比如品牌,例如body列中的“BMW”,并在data$body中创建包含“BMW”的行的子集。 感谢charleslmh

  • 问题内容: 给定一个Java“文件”对象,如何检测它是否指向符号链接? (如果有帮助/重要,我知道该文件引用的是目录,而不是文件) 问题答案: 您也可以使用isSymbolicLink(Pathpath)方法。它将更加可靠。 Java Doc“检测符号链接 ”中的类似示例。

  • 问题内容: 我有一个字符串“ BC + D * E-”。我想检查字符串的每个字符是否为字母。我尝试使用isLetter(),但它甚至将=,*和-都视为字母。请您帮我一下。谢谢 问题答案: 尝试

  • 问题内容: 我有一些混合使用英语和没有英语字母的字符串。例如: 如何使用Regex或Python中的其他任何快速方法识别这些类型的字符串? 我不希望将字符串中的字母与字母列表一一比较,而要快速完成。 问题答案: 您只需检查字符串是否只能使用ASCII字符(拉丁字母+其他字符)进行编码。如果它不能被编码,则它具有来自其他字母的字符。 注意评论。它应该在python文件的顶部(否则您会收到一些关于编码