提示信息

Java判断是汉字或标点符号

脑震荡的猪 已关注

HanLP 中并没有直接的函数来判断给定字符是否是汉字或标点符号。但你可以使用Java的内置方法,结合Unicode编码范围,来实现这个功能。

以下是一种使用 Java 来判断字符是否为汉字或标点符号的方法:

  1. public class Main {
  2. public static void main(String[] args) {
  3. System.out.println(isChinese('汉')); // 输出:true
  4. System.out.println(isPunctuation(',')); // 输出:true
  5. }
  6. // 判断是否为汉字
  7. public static boolean isChinese(char c) {
  8. Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
  9. return (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
  10. || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
  11. || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
  12. || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B
  13. || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
  14. || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS
  15. || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION);
  16. }
  17. // 判断是否为标点符号
  18. public static boolean isPunctuation(char c) {
  19. int codePoint = Character.getType(c);
  20. return codePoint == Character.OTHER_PUNCTUATION || codePoint == Character.INITIAL_QUOTE_PUNCTUATION
  21. || codePoint == Character.FINAL_QUOTE_PUNCTUATION;
  22. }
  23. }

在上述代码中,isChinese(char) 方法用于判断一个字符是否是汉字,而 isPunctuation(char) 方法则用于判断一个字符是否是标点符号。

    遇到难题? "AI大模型GPT4.0、GPT" 是你的私人解答专家! 点击按钮去提问......
脑震荡的猪 关注 已关注

最近一次登录:2023-10-18 09:09:28   

暂时还没有签名,请关注我或评论我的文章
×
免费图表工具,画流程图、架构图