导航:首页 > 编程语言 > java判断是否有中文

java判断是否有中文

发布时间:2025-03-23 21:39:13

java 判断是否有中文,以及它的位置

1、判断输入类型的最好法是正则表达式校验2、确定中文文字的unicode范围[\u4E00-\u9FA5]3、编写正则表达式[\u4E00-\u9FA5]+,利用String.matches()方法判断输入值是否符合4、校验不通过输出提示codedemo:Strings="我是12";Stringreg

⑵ java怎么把字符串中的的汉字取出来

1.判断字符串是否全是汉字。

String str1 = "java判断是否为汉字"

String str2 = "全为汉字"

String reg = "[\u4e00-\u9fa5]+"

boolean result1 = str1.matches(reg)//false

boolean result2 = str2.matches(reg)//true

2.提取字符串中的汉字。

String str = "java怎么把asdasd字符串中的asdasd的汉字取出来"

String reg = "[^u4e00-u9fa5]"

str = str.replaceAll(reg, " ")

System.out.println(str)

3.判断字符串中是否含有汉字。

boolean result = (str.length() == str.getBytes().length)//true:无汉字 false:有汉字

4.获取字符串中汉字的个数。

int count = 0

String reg = "[\u4e00-\u9fa5]"

String str = "java获取汉字Chinese的个数"

Pattern p = Pattern.compile(reg)

Matcher m = p.matcher(str)

while (m.find()) {for (int i = 0; i <= m.groupCount(); i++) {count = count + 1}}

System.out.println("共有汉字 " + count + "个 ")

⑶ java怎么判断输入的是不是中文

你好,最简单而且最保险的一种方法是:
这里举个最复杂的例子:就是输入了中文和英文的
String str = "....." ; //str是你输入的东西
如果str.length() < str.getBytes().length 那么输入的肯定有中文
看测试代码:
public class Chinese {
public static void main(String[] args) {
String str1 = "aaa" ;
String str2 = "中国" ;
String str3 = "中a" ;
isChinese(str1) ;
isChinese(str2) ;
isChinese(str3) ;
}
public static void isChinese(String str){
if(str.length() < str.getBytes().length){
System.out.println("有中文");
}else{
System.out.println("英文");
}
}
}

⑷ 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 判断字符串中是否有中文符号

学习交流:
622497727

Java判断一个字符串是否有中文是利用Unicode编码来判断,因为中文的编码区间为:0x4e00--0x9fbb,不过通用区间来判断中文也不非常精确,因为有些中文的标点符号利用区间判断会得到错误的结果。而且利用区间判断中文效率也并不高,例如;str.substring(i, i + 1).matches("[\\u4e00-\\u9fbb]+"),就需要遍历整个字符串,如果字符串太长效率非常低,而且判断标点还会错误

⑹ java怎么检验字符串是否全为纯中文

Java判断一个字符串是否有中文一般情况是利用Unicode编码(CJK统一汉字的编码区间:0x4e00–0x9fbb)的正则来做判断,但是其实这个区间来判断中文不是非常...

⑺ JAVA有中文版的吗

JAVA没有中外之分,他是一个国际版,JAVA中文意思是:计算机编程语言。

Java是一种面向对象的编程语言,它不仅吸收了c++语言的优点,而且抛弃了c++中难以理解的多继承、指针的概念,因此Java语言具有功能强大且易于使用的两个特点。

作为静态面向对象编程语言的代表,Java语言是面向对象理论的优秀实现,允许程序员优雅地思考复杂的编程。

在sunMicrosystems工作的Jamesgosling等人在20世纪90年代早期开发了Java语言的原型。最初命名为Oak,是针对家用电器等小型系统的编程语言,应用于电视机、电话、闹钟、烤面包机等家用电器的控制和通信。

(7)java判断是否有中文扩展阅读:

JAVA和互联网的起源:

1994年6月,在与约翰·盖奇、詹姆斯·高斯林、比尔·乔伊、帕特里克·诺顿、韦恩·罗斯和埃里克·施密特进行了为期三天的头脑风暴后,团队决定再次改变他们的关注点,这次是将这项技术应用到万维网上。

他们认为,随着马赛克浏览器的出现,互联网正在演变成他们在有线电视上看到的那种高度互动的景象。作为原型,PatrickNORTON编写了一个小型web浏览器WebRunner,后来改名为HotJava[12]。

1994年10月,HotJava和Java平台向企业高管进行了演示。在1994年,Java版本1.0a是可以下载的,但是Java和HotJava浏览器的第一次公开发布是在1995年3月23日的SunWorld上。Sun的科学主管Johngeiger宣布Java技术。

与此同时,网景执行副总裁马克·安德森(markAnderson)出人意料地宣布,网景将在其浏览器中加入对Java的支持。1996年1月,Sun成立了Java业务组来开发Java技术。

阅读全文

与java判断是否有中文相关的资料

热点内容
安卓怎么使用时间长 浏览:195
输入的命令怎么撤回 浏览:41
杨幂公司需要程序员吗 浏览:227
排列组合怎么在数学编译器上输入 浏览:161
美的空调压缩机不启动带电 浏览:61
程序员熬夜猝死的概率 浏览:164
网站服务器如何入侵 浏览:125
加密文件禁止发送 浏览:12
单片机最快启动时间 浏览:670
程序员怎么建网盘服务 浏览:834
android下载网络视频 浏览:89
idea编译器皮肤 浏览:757
程序员后腰酸胀什么原因 浏览:133
安卓手机群聊如何设置接龙 浏览:122
程序员区县 浏览:662
python中n维变量拟合函数 浏览:543
ps下载游戏解压 浏览:699
altera公司编译软件 浏览:65
删除了微信app怎么恢复聊天记录 浏览:773
硬件验证实验一信源编译码实验 浏览:485