java 区分中英文_在java中如何判断一个字符串是中文的还是英文的
展开全部
下满给62616964757a686964616fe58685e5aeb931333361326264出示例代码,希望对你有帮助
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
//只要字符串中有中文则为中文
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 包含几个字符_java中如何判断一个字符串包含几个指定字符
java中如何判断一个字符串包含几个指定字符 可以用String类里的indexOf(String s,int i)方法,这个方法s是字符串div,i是从i下标开始查找该字符串在调用字符串中的位置,返 ...
- java里包含怎么算_java中怎么判断一个字符串中包含某个字符或字符串
展开全部 /*这是一62616964757a686964616fe58685e5aeb931333363393630个静态函数,不用声明对象就可以用的,如你的类名为Test,在任何情况下都可以调用Te ...
- java怎么统计随机数出现次数,Excel统计出现次数、个数的VBA代码 java中怎么判断一个字符串中包含某个字符或字...
延伸:java中怎么判断一个字符串中包含某个字符或字符 描述:...一个字符串中包含某个字符的单词说出现的次数 c#什么方法可以判断字符串中包含某个字符的个数? JAVA判断字符串数组中是否包含某字符 ...
- oracle 查找非中文,Oracle中如何判断一个字符串是否含有汉字
看到网友问,怎么查询表中某个字段数据是不是包含了全角字符啊? 这个问题涉及到几个函数:to_single_byte.length和lengthb,我之前做开发的时候研究的是如何判断一个字符串中是否包含 ...
- python3一个中文3个字符_高手接招! 小应用 用python3判断一个字符串是不是中文组成的...
在python3中,str默认是unicode编码 用 ord() 函数判断单个字符的unicode编码是否大于255即可. 一般来说,中文常用字的范围是:[\u4e00-\u9fa5] 准确点判断中 ...
- oracle判断字符串是不是日期,在ORACLE中如何判断一个字符串是否是一个合适的日期...
很多时候, 我们碰到的数据库都是历史数据库, 有时就会碰到各种各样的数据不规范的情况, 在这里讨论一下日期字符串的处理. 虽然各种数据库中都有各自的日期类型, 但是因为各种各样的情况我们会碰到用字符串 ...
- python判断字符串包含中文_高手接招! 小应用 用python3判断一个字符串是不是中文组成的...
在python3中,str默认是unicode编码 用 ord() 函数判断单个字符的unicode编码是否大于255即可. 一般来说,中文常用字的范围是:[\u4e00-\u9fa5] 准确点判断中 ...
- java 判断字符串包含几个字符_java中如何判断一个字符串包含几个指定字符
可以用String类里的indexOf(String s,int i)方法,这个方法s是字符串div,i是从i下标开始查找该字符串在调用字符串中的位置,返回值是int类型. 相关学习视频推荐:java ...
- java 判断一个字符串是否由数字组成的_Java中怎样判断一个字符串是否是数字
展开全部 1.使用Character.isDigit(char)判断 String str = "123abc"; if (!"".equals(str)) { ...
- Java中如何判断一个字符串是否为数字
方法一:异常处理 public static boolean isInteger(String str){try {Integer i = Integer.parseInt(str);return t ...
最新文章
- 心得体悟帖---14、没有自己精品项目永远是个弟弟
- Kafka中文官方文档
- 转-eclipse管理多个workspace
- BeautifulSoup 返回网页标签的名称、父标签名称、行号、完整路径
- 通过Ajax方式上传文件(input file),使用FormData进行Ajax请求
- git学习(9):git 添加 ssh keys 出现如下错误
- LeetCode MySQL 1355. 活动参与者(any函数)
- 吴恩达,确诊新冠阳性!
- 《PostgreSQL 指南:内幕探索》之基础备份与时间点恢复(下)
- Tomcat - Springboot启动的时候初始化的线程池默认配置
- python中darks_在Python 3中使用YOLOv2
- 只有极少数人能通过的「超级多任务」测试(文末附测试地址)
- 计算机教室标语6个字,教室标语大全
- 第三方调试助手的与S7-1200 PLC的通信
- Maven基础概念和安装配置教程
- Mybatis自定义轻量级分页组件(易集成,易拓展)
- scram-sha1
- AXI总线详解-AXI4读写操作时序及AXI4猝发地址及选择
- 大数据引擎 Spark 的全套知识体系,终于搞到了!
- vue-tree-chart 组织架构-树形图-流程图(含鼠标右击事件)