[JAVA工具]判断字符串是否为中文

简介:
package com.airchina.test;

public class IsChineseOrNot {
	 // GENERAL_PUNCTUATION 判断中文的“号
	 // CJK_SYMBOLS_AND_PUNCTUATION 判断中文的。号
	 // HALFWIDTH_AND_FULLWIDTH_FORMS 判断中文的,号
	 private static final boolean isChinese(char c) {
	  Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
	  if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
	    || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
	    || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
	    || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION
	    || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
	    || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {
	   return true;
	  }
	  return false;
	 }
	 public static final boolean isChinese(String strName) {
	  char[] ch = strName.toCharArray();
	  for (int i = 0; i < ch.length; i++) {
	   char c = ch[i];
	   if (isChinese(c)) {
	    return true;
	   }
	  }
	  return false;
	 }
	 public static void main(String[] args) {
	  System.out.println(isChinese("き"));
	  System.out.println(isChinese("test,.?!%^&*(){}[]"));
	  System.out.println(isChinese("测试"));
	  System.out.println(isChinese("“测试”,。?!%……&*()——{}【】”"));
	 }
	 public static final boolean isChineseCharacter(String chineseStr) {
	  char[] charArray = chineseStr.toCharArray();
	  for (int i = 0; i < charArray.length; i++) {
	   if ((charArray[i] >= 0x4e00) && (charArray[i] <= 0x9fbb)) {
	    return true;
	   }
	  }
	  return false;
	 }
	 /**
	  * @deprecated; 弃用。和方法isChineseCharacter比效率太低。
	  * */
	 public static final boolean isChineseCharacter_f2() {
	  String str = "!?";
	  for (int i = 0; i < str.length(); i++) {
	   if (str.substring(i, i + 1).matches("[\\u4e00-\\u9fbb]+")) {
	    return true;
	   }
	  }
	  return false;
	 }
	}

目录
相关文章
|
11月前
|
人工智能 缓存 监控
使用LangChain4j构建Java AI智能体:让大模型学会使用工具
AI智能体是大模型技术的重要演进方向,它使模型能够主动使用工具、与环境交互,以完成复杂任务。本文详细介绍如何在Java应用中,借助LangChain4j框架构建一个具备工具使用能力的AI智能体。我们将创建一个能够进行数学计算和实时信息查询的智能体,涵盖工具定义、智能体组装、记忆管理以及Spring Boot集成等关键步骤,并展示如何通过简单的对话界面与智能体交互。
3582 1
|
11月前
|
SQL JSON Java
告别字符串拼接:用Java文本块优雅处理多行字符串
告别字符串拼接:用Java文本块优雅处理多行字符串
630 108
|
监控 Java Unix
6个Java 工具,轻松分析定位 JVM 问题 !
本文介绍了如何使用 JDK 自带工具查看和分析 JVM 的运行情况。通过编写一段测试代码(启动 10 个死循环线程,分配大量内存),结合常用工具如 `jps`、`jinfo`、`jstat`、`jstack`、`jvisualvm` 和 `jcmd` 等,详细展示了 JVM 参数配置、内存使用、线程状态及 GC 情况的监控方法。同时指出了一些常见问题,例如参数设置错误导致的内存异常,并通过实例说明了如何排查和解决。最后附上了官方文档链接,方便进一步学习。
3298 4
|
机器学习/深度学习 消息中间件 存储
【高薪程序员必看】万字长文拆解Java并发编程!(9-2):并发工具-线程池
🌟 ​大家好,我是摘星!​ 🌟今天为大家带来的是并发编程中的强力并发工具-线程池,废话不多说让我们直接开始。
454 0
|
SQL JSON Java
告别拼接噩梦:Java文本块让多行字符串更优雅
告别拼接噩梦:Java文本块让多行字符串更优雅
990 82
|
11月前
|
人工智能 Java API
Java AI智能体实战:使用LangChain4j构建能使用工具的AI助手
随着AI技术的发展,AI智能体(Agent)能够通过使用工具来执行复杂任务,从而大幅扩展其能力边界。本文介绍如何在Java中使用LangChain4j框架构建一个能够使用外部工具的AI智能体。我们将通过一个具体示例——一个能获取天气信息和执行数学计算的AI助手,详细讲解如何定义工具、创建智能体并处理执行流程。本文包含完整的代码示例和架构说明,帮助Java开发者快速上手AI智能体的开发。
3532 8
|
10月前
|
人工智能 监控 Java
Java与AI智能体:构建自主决策与工具调用的智能系统
随着AI智能体技术的快速发展,构建能够自主理解任务、制定计划并执行复杂操作的智能系统已成为新的技术前沿。本文深入探讨如何在Java生态中构建具备工具调用、记忆管理和自主决策能力的AI智能体系统。我们将完整展示从智能体架构设计、工具生态系统、记忆机制到多智能体协作的全流程,为Java开发者提供构建下一代自主智能系统的完整技术方案。
1114 4
|
自然语言处理 Java Apache
在Java中将String字符串转换为算术表达式并计算
具体的实现逻辑需要填写在 `Tokenizer`和 `ExpressionParser`类中,这里只提供了大概的框架。在实际实现时 `Tokenizer`应该提供分词逻辑,把输入的字符串转换成Token序列。而 `ExpressionParser`应当通过递归下降的方式依次解析
526 14
|
Java 数据安全/隐私保护 计算机视觉
银行转账虚拟生成器app,银行卡转账截图制作软件,java实现截图生成工具【仅供装逼娱乐用途】
本内容提供Java生成自定义图片的示例代码,涵盖基础图像创建、文本添加及保存功能,适合学习2D图形编程。包括教学示例图片生成、文本图层处理和数字水印技术实现方案。