展开全部

下满给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中如何判断一个字符串是中文的还是英文的相关推荐

  1. java 包含几个字符_java中如何判断一个字符串包含几个指定字符

    java中如何判断一个字符串包含几个指定字符 可以用String类里的indexOf(String s,int i)方法,这个方法s是字符串div,i是从i下标开始查找该字符串在调用字符串中的位置,返 ...

  2. java里包含怎么算_java中怎么判断一个字符串中包含某个字符或字符串

    展开全部 /*这是一62616964757a686964616fe58685e5aeb931333363393630个静态函数,不用声明对象就可以用的,如你的类名为Test,在任何情况下都可以调用Te ...

  3. java怎么统计随机数出现次数,Excel统计出现次数、个数的VBA代码 java中怎么判断一个字符串中包含某个字符或字...

    延伸:java中怎么判断一个字符串中包含某个字符或字符 描述:...一个字符串中包含某个字符的单词说出现的次数 c#什么方法可以判断字符串中包含某个字符的个数? JAVA判断字符串数组中是否包含某字符 ...

  4. oracle 查找非中文,Oracle中如何判断一个字符串是否含有汉字

    看到网友问,怎么查询表中某个字段数据是不是包含了全角字符啊? 这个问题涉及到几个函数:to_single_byte.length和lengthb,我之前做开发的时候研究的是如何判断一个字符串中是否包含 ...

  5. python3一个中文3个字符_高手接招! 小应用 用python3判断一个字符串是不是中文组成的...

    在python3中,str默认是unicode编码 用 ord() 函数判断单个字符的unicode编码是否大于255即可. 一般来说,中文常用字的范围是:[\u4e00-\u9fa5] 准确点判断中 ...

  6. oracle判断字符串是不是日期,在ORACLE中如何判断一个字符串是否是一个合适的日期...

    很多时候, 我们碰到的数据库都是历史数据库, 有时就会碰到各种各样的数据不规范的情况, 在这里讨论一下日期字符串的处理. 虽然各种数据库中都有各自的日期类型, 但是因为各种各样的情况我们会碰到用字符串 ...

  7. python判断字符串包含中文_高手接招! 小应用 用python3判断一个字符串是不是中文组成的...

    在python3中,str默认是unicode编码 用 ord() 函数判断单个字符的unicode编码是否大于255即可. 一般来说,中文常用字的范围是:[\u4e00-\u9fa5] 准确点判断中 ...

  8. java 判断字符串包含几个字符_java中如何判断一个字符串包含几个指定字符

    可以用String类里的indexOf(String s,int i)方法,这个方法s是字符串div,i是从i下标开始查找该字符串在调用字符串中的位置,返回值是int类型. 相关学习视频推荐:java ...

  9. java 判断一个字符串是否由数字组成的_Java中怎样判断一个字符串是否是数字

    展开全部 1.使用Character.isDigit(char)判断 String str = "123abc"; if (!"".equals(str)) { ...

  10. Java中如何判断一个字符串是否为数字

    方法一:异常处理 public static boolean isInteger(String str){try {Integer i = Integer.parseInt(str);return t ...

最新文章

  1. 心得体悟帖---14、没有自己精品项目永远是个弟弟
  2. Kafka中文官方文档
  3. 转-eclipse管理多个workspace
  4. BeautifulSoup 返回网页标签的名称、父标签名称、行号、完整路径
  5. 通过Ajax方式上传文件(input file),使用FormData进行Ajax请求
  6. git学习(9):git 添加 ssh keys 出现如下错误
  7. LeetCode MySQL 1355. 活动参与者(any函数)
  8. 吴恩达,确诊新冠阳性!
  9. 《PostgreSQL 指南:内幕探索》之基础备份与时间点恢复(下)
  10. Tomcat - Springboot启动的时候初始化的线程池默认配置
  11. python中darks_在Python 3中使用YOLOv2
  12. 只有极少数人能通过的「超级多任务」测试(文末附测试地址)
  13. 计算机教室标语6个字,教室标语大全
  14. 第三方调试助手的与S7-1200 PLC的通信
  15. Maven基础概念和安装配置教程
  16. Mybatis自定义轻量级分页组件(易集成,易拓展)
  17. scram-sha1
  18. AXI总线详解-AXI4读写操作时序及AXI4猝发地址及选择
  19. 大数据引擎 Spark 的全套知识体系,终于搞到了!
  20. vue-tree-chart 组织架构-树形图-流程图(含鼠标右击事件)

热门文章

  1. js获取本周日期和上周日期 --- 随手记录备忘
  2. wps怎么图片透明_wpsword如何设置图片透明度
  3. 【备忘】修复过的SCCM报错
  4. 计算机专业的英语六级很难过,英语六级多少分算过 通过率高吗
  5. shader篇-透明效果
  6. ensp-VRRP的配置
  7. 测试所用的技术(黑盒、白盒测试等)
  8. 软件测试模型有哪些?
  9. 新功能!微信可以开“小号”了
  10. 一条wmic命令解决硬盘序列号和mac地址查询