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

目录
相关文章
|
1月前
|
监控 Java 测试技术
Java开发现在比较缺少什么工具?
【10月更文挑战第15天】Java开发现在比较缺少什么工具?
36 1
|
1天前
|
SQL Java 索引
java小工具util系列2:字符串工具
java小工具util系列2:字符串工具
126 82
|
27天前
|
存储 安全 Java
Java零基础-字符串详解
【10月更文挑战第18天】Java零基础教学篇,手把手实践教学!
100 60
|
17天前
|
缓存 算法 Java
本文聚焦于Java内存管理与调优,介绍Java内存模型、内存泄漏检测与预防、高效字符串拼接、数据结构优化及垃圾回收机制
在现代软件开发中,性能优化至关重要。本文聚焦于Java内存管理与调优,介绍Java内存模型、内存泄漏检测与预防、高效字符串拼接、数据结构优化及垃圾回收机制。通过调整垃圾回收器参数、优化堆大小与布局、使用对象池和缓存技术,开发者可显著提升应用性能和稳定性。
36 6
|
28天前
|
Java 数据格式 索引
使用 Java 字节码工具检查类文件完整性的原理是什么
Java字节码工具通过解析和分析类文件的字节码,检查其结构和内容是否符合Java虚拟机规范,确保类文件的完整性和合法性,防止恶意代码或损坏的类文件影响程序运行。
|
28天前
|
Java API Maven
如何使用 Java 字节码工具检查类文件的完整性
本文介绍如何利用Java字节码工具来检测类文件的完整性和有效性,确保类文件未被篡改或损坏,适用于开发和维护阶段的代码质量控制。
|
30天前
|
Web App开发 Java
使用java操作浏览器的工具selenium-java和webdriver下载地址
【10月更文挑战第12天】Selenium-java依赖包用于自动化Web测试,版本为3.141.59。ChromeDriver和EdgeDriver分别用于控制Chrome和Edge浏览器,需确保版本与浏览器匹配。示例代码展示了如何使用Selenium-java模拟登录CSDN,包括设置驱动路径、添加Cookies和获取页面源码。
|
1月前
|
Java 流计算
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
41 1
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
|
1月前
|
Java 数据库
案例一:去掉数据库某列中的所有英文,利用java正则表达式去做,核心:去掉字符串中的英文
这篇文章介绍了如何使用Java正则表达式从数据库某列中去除所有英文字符。
50 15
|
1月前
|
小程序 Oracle Java
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
这篇文章是关于JVM基础知识的介绍,包括JVM的跨平台和跨语言特性、Class文件格式的详细解析,以及如何使用javap和jclasslib工具来分析Class文件。
48 0
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
下一篇
无影云桌面