Java 判断字符串中是否包含中文的实例详解
作者:carl-zhao 发布时间:2023-11-06 13:17:18
标签:java,字符串,中文
Java 判断字符串中是否包含中文的实例详解
Java判断一个字符串是否有中文是利用Unicode编码来判断,因为中文的编码区间为:0x4e00--0x9fbb, 不过通用区间来判断中文也不非常精确,因为有些中文的标点符号利用区间判断会得到错误的结果。而且利用区间判断中文效率也并不高,例如:str.substring(i, i + 1).matches("[\\一-\\?]+"),就需要遍历整个字符串,如果字符串太长效率非常低,而且判断标点还会错误。这里提高 一个高效准确的判断方法,使用Java中的Character类:
实例代码:
package test;
import static java.lang.Character.UnicodeBlock.*;
import com.google.common.base.Strings;
public class CheckContainChinese {
public static void main(String[] args) {
String containChinese = "test,我有中文";
String containNoChiese = "test, i don't contain chinese";
System.out.println("containChinese 是否包含中文 :" + checkStringContainChinese(containChinese));
System.out.println("containNoChiese 是否包含中文 :" + checkStringContainChinese(containNoChiese));
}
private static boolean checkStringContainChinese(String checkStr){
if(!Strings.isNullOrEmpty(checkStr)){
char[] checkChars = checkStr.toCharArray();
for(int i = 0; i < checkChars.length; i++){
char checkChar = checkChars[i];
if(checkCharContainChinese(checkChar)){
return true;
}
}
}
return false;
}
private static boolean checkCharContainChinese(char checkChar){
Character.UnicodeBlock ub = Character.UnicodeBlock.of(checkChar);
if(CJK_UNIFIED_IDEOGRAPHS == ub || CJK_COMPATIBILITY_IDEOGRAPHS == ub || CJK_COMPATIBILITY_FORMS == ub ||
CJK_RADICALS_SUPPLEMENT == ub || CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A == ub || CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B == ub){
return true;
}
return false;
}
}
运行结果:
来源:http://blog.csdn.net/u012410733/article/details/51354899


猜你喜欢
- 目录背景介绍项目介绍需要知识点启动项目项目示范核心讲解核心原理功能分析分块上传秒传功能断点续传总结参考文献背景介绍 Breakpoint-
- 配置文件请看上篇Java实现redis https://www.jb51.net/article/190922.htm下面测试redis的集
- 1. Spring框架的注解式开发# Spring框架的注解式(Annotation)开发1. 注解式开发定义:通过Spring框架提供的一
- 一、前言前面我们学习了多态中的转型,那么现在我们开始学习抽象类的概述和使用二、抽象类生活大多事物是具有抽象含义的,比如我说一个生物,你想不到
- 本文实例讲述了Java实现将png格式图片转换成jpg格式图片的方法。分享给大家供大家参考,具体如下:import java.awt.Col
- 本文研究的主要是Collections.shuffle()方法的相关内容,下面看看具体内容。Java.util.Collections类下有
- 前言目前Google已经发布了Android13的正式版,虽然国内的手机能用上Android13还有一段时间,不过开发者们可以通过模拟器来体
- 最近的项目中,想做到一种能够吸引眼球的一种角色选择浏览效果Demo源码:点击打开链接最终实现了下按如下图这么一种浏览效果:效果图一效果图二可
- 本文实例讲述了Android开发圆角Button按钮实现过程,分享给大家供大家参考,具体内容如下需求及效果图:实现思路:1、shape实现圆
- 配置事务: 使用的tx前缀的标签, 导入tx的命名空间配置事务管理器 , 把事务管理器交给Spring管理:<bean id=&quo
- 本文实例为大家分享了Android获取设备传感器的具体代码,供大家参考,具体内容如下结果示例:xml代码:<?xml version=
- 本文实例讲述了C#将DataTable转换成list及数据分页的方法。分享给大家供大家参考。具体如下:/// <summary>
- 一、显示信息对话框:使用“JOptionPane.showMessageDialog”显示:图标对话框类型语法显示错误类型对话框showMe
- JPA自定义VO类型转换(EntityUtils工具类)在JPA查询中,如果需要返回自定义的类,可以使用EntityUtils工具类,该类源
- 在本博客中,可以找到一篇《c#实现输出的字符靠右对齐的示例》它有教大家怎样实现字符串输出进行左齐或者是右对齐。本篇的方法,超简单,是使用st
- FileInputStream流的三种read()函数对比首先我们先创建FileIputStream流对文件进行读取public stati
- 需求:List<UserPojo> users = new ArrayList<>();//第一个user和第4个u
- 3.3 do...while()循环3.3.1 do语句的语法:do
- 如何在冗长的监控录像中找到关键点?我们知道,监控录像中大部分信息都是没用的,那些信息就等同于一幅静态图像。我们要等待监控的范围内出现异常情况
- 概述AOP(Aspect Orient Programming),我们一般称为面向方面(切面)编程,作为面向对象的一种补充,用于处理系统中分