java判断中文,java判断中文个数

本文目录一览:

java判断字符是不是中文

下满给出示例代码,希望对你有帮助Java中判断字符串的编码有两种思路:一种是根据byte的长度判断,英文的字母数字好标点符号都是一个byte,且值在0-255之间另一种是根据中文的Unicode取值范围判断,这个就是把所以的范围都包含,才能判断正确,参考unicode中文范围:示例代码:import java.util.regex.Matcher;import java.util.regex.Pattern;public class StringTest { //英文占1byte,非英文(可认为是中文)占2byte,根据这个特性来判断字符 public static boolean checkChar(char ch) { if ((ch + “”).getBytes().length == 1) { return true;//英文 } else { return false;//中文 } } public static String checkString(String str) { String res = “”; if (str != null) { for (int i = 0; i str.length(); i++) { //只要字符串中有中文则为中文 if (!checkChar(str.charAt(i))) { res = “中文”; break; } else { res = “英文”; } } } return res; } //判断是不是中文 public static 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 boolean isEnglish(String charaString) { return charaString.matches(“^[a-zA-Z]*”); } //根据中文unicode范围判断u4e00 ~ u9fa5不全 public static String isChinese(String str) { String regEx1 = “[\\u4e00-\\u9fa5]+”; String regEx2 = “[\\uFF00-\\uFFEF]+”; String regEx3 = “[\\u2E80-\\u2EFF]+”; String regEx4 = “[\\u3000-\\u303F]+”; String regEx5 = “[\\u31C0-\\u31EF]+”; Pattern p1 = Pattern.compile(regEx1); Pattern p2 = Pattern.compile(regEx2); Pattern p3 = Pattern.compile(regEx3); Pattern p4 = Pattern.compile(regEx4); Pattern p5 = Pattern.compile(regEx5); Matcher m1 = p1.matcher(str); Matcher m2 = p2.matcher(str); Matcher m3 = p3.matcher(str); Matcher m4 = p4.matcher(str); Matcher m5 = p5.matcher(str); if (m1.find() || m2.find() || m3.find() || m4.find() || m5.find()) return “中文”; else return “英文”; } public static void main(String[] args) { System.out.println(“使用长度判断:”); System.out.println(checkString(“Hello++”)); System.out.println(checkString(“Hello++。、,?”)); System.out.println(checkString(“Hello++编程”)); System.out.println(checkString(“编程”)); System.out.println(“\r\n使用正则表达式判断:”); System.out.println(isChinese(“Hello++”)); System.out.println(isChinese(“Hello++。、,?”)); System.out.println(isChinese(“Hello++编程”)); System.out.println(isChinese(“编程”)); System.out.println(“\r\n使用Character.UnicodeBlock”); System.out.println(isChinese(‘h’)?”中文”:”英文”); System.out.println(isChinese(‘,’)?”中文”:”英文”); System.out.println(isChinese(‘。’)?”中文”:”英文”); System.out.println(isChinese(‘编’)?”中文”:”英文”); }}运行结果:使用长度判断:英文中文中文中文使用正则表达式判断:英文中文中文中文使用Character.UnicodeBlock英文英文中文中文

Java判断是不是汉字,中文,英文字母和数字

JAVA的正则表达式,这个很简单,只要你将匹配的方法和几个常用的元字符以及表示字符数的格式记住就可以了,这些你可以百度一下,我这里只是简单的说一下

JAVA的正则表达式使用String里的boolean matches(String regex)方法来确认传入的值的格式的,

public static void main(String[] args)

{

String s1 = “java”;

String s2 = “Java”;

boolean flag = s2.matches(s1);

System.out.println(flag); //如果匹配则输出true ,否则为false

}

接下来我介绍一些简单的元字符

   \\d       表示0-9中间的任意一个数字

   \\D   表示任意一个非数字字符

   \\w       表示字母、数字或下划线

   \\W       表示非字母、数字和下划线

   \\s       表示空白符

   \\S       表示非空白符

   []        字符集具体范围的规定,使用[]

例如

s1 = “b\\d{3,5}”;   //表示b后跟3个以上,5个以下的任意数字

s2 = “b588”;

flag = str.matches(s1);

System.out.println(flag);

那么判断是不是汉字

s1 = “[\u4e00-\u9fa5]”;   //中文字符范围

s2 = “吴老二”;

flag = s2.matches(s1);

System.out.println(flag);

英文字母

s1 = “^[a-zA-Z]$”;   //^表示开头 $表示结尾 [a-zA-Z]表示英文字母

s2 = “abc”;

数字

除了可以用我前面说的\\d之外还可以用[0-9],你自己测试一下吧

Java判断字符串是中文还是英文

Java中判断字符串的编码有两种思路:

一种是根据byte的长度判断,英文的字母数字好标点符号都是一个byte,且值在0-255之间

另一种是根据中文的Unicode取值范围判断,这个就是把所以的范围都包含,才能判断正确,参考unicode中文范围:

示例代码:

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class StringTest {

//英文占1byte,非英文(可认为是中文)占2byte,根据这个特性来判断字符

public static boolean checkChar(char ch) {

if ((ch + “”).getBytes().length == 1) {

return true;//英文

} else {

return false;//中文

}

}

public static String checkString(String str) {

String res = “”;

if (str != null) {

for (int i = 0; i str.length(); i++) {

//只要字符串中有中文则为中文

if (!checkChar(str.charAt(i))) {

res = “中文”;

break;

} else {

res = “英文”;

}

}

}

return res;

}

//判断是不是中文

public static 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 boolean isEnglish(String charaString) {

return charaString.matches(“^[a-zA-Z]*”);

}

//根据中文unicode范围判断u4e00 ~ u9fa5不全

public static String isChinese(String str) {

String regEx1 = “[\\u4e00-\\u9fa5]+”;

String regEx2 = “[\\uFF00-\\uFFEF]+”;

String regEx3 = “[\\u2E80-\\u2EFF]+”;

String regEx4 = “[\\u3000-\\u303F]+”;

String regEx5 = “[\\u31C0-\\u31EF]+”;

Pattern p1 = Pattern.compile(regEx1);

Pattern p2 = Pattern.compile(regEx2);

Pattern p3 = Pattern.compile(regEx3);

Pattern p4 = Pattern.compile(regEx4);

Pattern p5 = Pattern.compile(regEx5);

Matcher m1 = p1.matcher(str);

Matcher m2 = p2.matcher(str);

Matcher m3 = p3.matcher(str);

Matcher m4 = p4.matcher(str);

Matcher m5 = p5.matcher(str);

if (m1.find() || m2.find() || m3.find() || m4.find() || m5.find())

return “中文”;

else

return “英文”;

}

public static void main(String[] args) {

System.out.println(“使用长度判断:”);

System.out.println(checkString(“Hello++”));

System.out.println(checkString(“Hello++。、,?”));

System.out.println(checkString(“Hello++编程”));

System.out.println(checkString(“编程”));

System.out.println(“\r\n使用正则表达式判断:”);

System.out.println(isChinese(“Hello++”));

System.out.println(isChinese(“Hello++。、,?”));

System.out.println(isChinese(“Hello++编程”));

System.out.println(isChinese(“编程”));

System.out.println(“\r\n使用Character.UnicodeBlock”);

System.out.println(isChinese(‘h’)?”中文”:”英文”);

System.out.println(isChinese(‘,’)?”中文”:”英文”);

System.out.println(isChinese(‘。’)?”中文”:”英文”);

System.out.println(isChinese(‘编’)?”中文”:”英文”);

}

}

java 判断字符是否为汉字

java判断是否为汉字 Java代码如下:

public boolean vd(String str){

char[] chars=str.toCharArray();

boolean isGB2312=false;

for(int i=0;ichars.length;i++){

byte[] bytes=(“”+chars[i]).getBytes();

if(bytes.length==2){

int[] ints=new int[2];

ints[0]=bytes[0] 0xff;

ints[1]=bytes[1] 0xff;

if(ints[0]=0x81 ints[0]=0xFE ints[1]=0x40 ints[1]=0xFE){

isGB2312=true;

break;

}

}

}

return isGB2312;

}

public boolean vd(String str){

char[] chars=str.toCharArray();

boolean isGB2312=false;

for(int i=0;ichars.length;i++){

byte[] bytes=(“”+chars[i]).getBytes();

if(bytes.length==2){

int[] ints=new int[2];

ints[0]=bytes[0] 0xff;

ints[1]=bytes[1] 0xff;

if(ints[0]=0x81 ints[0]=0xFE ints[1]=0x40 ints[1]=0xFE){

isGB2312=true;

break;

}

}

}

return isGB2312;

}

首先要import java.util.regex.Pattern 和 java.util.regex.Matcher

这两个包,接下来是代码

Java代码

public boolean isNumeric(String str)

{

Pattern pattern = Pattern.compile(”[0-9]*”);

Matcher isNum = pattern.matcher(str);

if( !isNum.matches() ) {

return false;

}

return true;

}

java.lang.Character.isDigit(ch[0])

public boolean isNumeric(String str)

{

Pattern pattern = Pattern.compile(”[0-9]*”);

Matcher isNum = pattern.matcher(str);

if( !isNum.matches() ) {

return false;

}

return true;

}

java.lang.Character.isDigit(ch[0])

—————–另一种—————–

Java代码

public static void main(String[] args) {

int count = 0;

String regEx = “[\\u4e00-\\u9fa5]”;

//System.out.println(regEx);

String str = “中文fdas “;

//System.out.println(str);

Pattern p = Pattern.compile(regEx);

Matcher m = p.matcher(str);

while (m.find()) {

for (int i = 0; i = m.groupCount(); i++) {

count = count + 1;

}

}

System.out.println(“共有 ” + count + “个 “);

}

public static void main(String[] args) {

int count = 0;

String regEx = “[\\u4e00-\\u9fa5]”;

//System.out.println(regEx);

String str = “中文fdas “;

//System.out.println(str);

Pattern p = Pattern.compile(regEx);

Matcher m = p.matcher(str);

while (m.find()) {

for (int i = 0; i = m.groupCount(); i++) {

count = count + 1;

}

}

System.out.println(“共有 ” + count + “个 “);

} ——————————————————————-

Java判断字符串中是否有中文

public static boolean isChinese(char c) {

return c = 0x4E00   c = 0x9FA5;// 根据字节码判断

}

// 判断一个字符串是否含有中文

public static boolean isChinese(String str) {

if (str == null) return false;

for (char c : str.toCharArray()) {

if (isChinese(c)) return true;// 有一个中文字符就返回

}

return false;

}

用字符串编码来判断,

原创文章,作者:OMRZD,如若转载,请注明出处:https://www.506064.com/n/330328.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
OMRZDOMRZD
上一篇 2025-01-16 15:46
下一篇 2025-01-16 15:46

相关推荐

  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • VSCode为什么无法运行Java

    解答:VSCode无法运行Java是因为默认情况下,VSCode并没有集成Java运行环境,需要手动添加Java运行环境或安装相关插件才能实现Java代码的编写、调试和运行。 一、…

    编程 2025-04-29
  • Java任务下发回滚系统的设计与实现

    本文将介绍一个Java任务下发回滚系统的设计与实现。该系统可以用于执行复杂的任务,包括可回滚的任务,及时恢复任务失败前的状态。系统使用Java语言进行开发,可以支持多种类型的任务。…

    编程 2025-04-29

发表回复

登录后才能评论