全角:是指中GB2312-80(《信息交换用汉字编码字符集·基本集》)中的各种符号。

半角:是指英文件ASCII码中的各种符号。

全角状态下字母、数字符号等都会占两个字节的位置,也就是一个汉字那么宽,半角状态下,字母数字符号一般会占一个字节,也就是半个汉字的位置,全角半角对汉字没有影响。

现在我们来看一下在java编程语言中如何来判断字符串中的全角半角符号?

有两种方式可以判断:

1: 通过正则表达式来进行判断  [^\\x00-\\xff]

2: 通过字符编码的范围进行判断.

有关字符编码的范围介绍如下:(ps:我们可以编写一个测试用例输出所有的字符编码来确定范围)

public static void main(String[] args) {for (int i = Character.MIN_VALUE; i <= Character.MAX_VALUE; ++i) {System.out.println(i + "    " + (char)i);}}

经过测试发现:

1.半角字符是从33开始到126结束

2.与半角字符对应的全角字符是从65281开始到65374结束

3.其中半角的空格是32.对应的全角空格是12288

半角和全角的关系很明显,除空格外的字符偏移量是65248(65281-33 = 65248)

使用正则表达式进行判断

public static void main(String[] args) {// 纯半角,包含有数字,字母,特殊符号,空格,汉字String test = "0123456789abcde!@#$%^& 你好";char[] chars_test = test.toCharArray();for (int i = 0; i < chars_test.length; i++) {String temp = String.valueOf(chars_test[i]);// 判断是全角字符if (temp.matches("[^\\x00-\\xff]")) {System.out.println("全角   " + temp);}// 判断是半角字符else {System.out.println("半角    " + temp);}}}

这里介绍下如果不想要字符串中的汉字的话,可以使用正则表达式将之去除:  [\u4e00-\u9fa5]

 @Testpublic void testChinese() {String ss = "qwen你ra是sd谁f";System.out.println(ss.replaceAll("[\u4e00-\u9fa5]", ""));}

或者是截取出字符串中的汉字

@Testpublic void testGetChinese() {String s = "qwen你ra是sd谁f";char[] chars_ss = s.toCharArray();String test = "";for (int i = 0; i < chars_ss.length; i++) {String temp = String.valueOf(chars_ss[i]);// 判断是汉字if (temp.matches("[\u4e00-\u9fa5]")) {test += temp;}}System.out.println(test);}

使用字符的unicode码进行判断

@Testpublic void testUnicode(){// 纯半角,包含有数字,字母,特殊符号,空格,汉字String test = "0123456789abcde!@#$%^& 你好";// 首先将汉字用空格替换掉test = test.replaceAll("[\u4e00-\u9fa5]", "");char[] chars_test = test.toCharArray();for (int i = 0; i < chars_test.length; i++) {int charValue = (int) chars_test[i];// 判断是全角字符if (charValue >= 65281 && charValue <= 65374 || charValue == 12288) {System.out.println("全角  " + (char) charValue);}// 判断是半角字符else if (charValue >= 33 && charValue <= 126 || charValue == 32) {System.out.println("半角  " + (char) charValue);}}}

Java如何判断字符串中包含有全角,半角符号,以及去除中文相关推荐

  1. Java如何判断字符串中包含有全角,半角符号

    一.全角跟半角之间的区别 在计算机屏幕上,一个汉字要占两个英文字符的位置,人们把一个英文字符所占的位置称为"半角",相对地把一个汉字所占的位置称为"全角".在汉 ...

  2. java 如何判断字符串中包含有全角,半角符号

    参考链接:http://www.cnblogs.com/Ant-soldier/p/6373766.html 1.通过字符编码的范围进行判断. ascii编码对照http://tool.oschina ...

  3. java 判断全角_Java如何判断字符串中包含有全角,半角符号

    首先介绍下全角跟半角之间的区别: 在计算机屏幕上,一个汉字要占两个英文字符的位置,人们把一个英文字符所占的位置称为"半角",相对地把一个汉字所占的位置称为"全角" ...

  4. JS判断字符串中是否有全角字符

    var str="sssssss" var str2=str.match(/[\uff00-\uffff]/g); if(str!=null){ alert("以下字符& ...

  5. java 包含几个字符_java怎么判断字符串中包含多少个字符

    java怎么判断字符串中包含多少个字符 发布时间:2020-06-23 23:13:52 来源:亿速云 阅读:180 作者:Leah java怎么判断字符串中包含多少个字符?针对这个问题,今天小编总结 ...

  6. python怎么判断字符串中包含特殊符号

    python判断字符串中包含特殊符号的方法:首先使用"for i in string"命令来遍历输入的字符串:然后输入"if i in input_psd"命令 ...

  7. java 工具类-去除字符串中特殊字符、全角转为半脚、获取字符串中姓名/电话、姓名重复后追加a.b.c...aa,ab..

    java 工具类-去除字符串中特殊字符.全角转为半脚.获取字符串中姓名/电话.姓名重复后追加a.b.c-aa,ab- public class NameUtil {/*** 姓名重复后追加a.b.c. ...

  8. Java代码判断字符串中是否含有表情

    最近在发微信公众号模版消息时遇到一个问题,如果用户的nickname中有表情,那么消息的字体颜色就会发生变化,像这样: 这个问题应该是微信的问题,所以我们不能解决掉这个bug,只能等腾讯爸爸来修复.唯 ...

  9. Oracle MySQL Hive sql判断字符串中包含某个字符的个数

    用length函数求出字符串长度,再对源数据中某个字符去掉求字符串长度,两个长度相减,得出包含某个字符的个数 MySQL所有版本: select length('2022-11-16') - leng ...

最新文章

  1. Python3 定时访问网页
  2. 算法学习:后缀自动机
  3. 解密亚洲诚信如何做到HTTPS的最佳安全实践
  4. LeetCode 198 House Robber Python
  5. android小知识之意图(intent)
  6. (转)浏览器兼容的JS写法总结
  7. 网友投诉顺丰快递员私拆快递物品摆拍、言语骚扰 官方处理来了...
  8. 中国加热织物市场趋势报告、技术动态创新及市场预测
  9. Python学习笔记(十三)文件操作函数
  10. 多个需要验证的输入框思路问题
  11. Java 调用SAP PI PO 的Rest JSON接口
  12. 国产数据库 OceanBase 二次刷榜 TPC-C,7 亿 tpmC
  13. 机器学习实战 | SKLearn入门与简单应用案例
  14. 又是一年金九银十!docker搭建ssr
  15. krpano学习——xml代码
  16. 极简Python语法(5)
  17. 数据库第八周实验——第五章课后题
  18. 怎么用python画指北针?
  19. 中兴冲破“阈值”,家庭监控市场或将重新排位
  20. Ubuntu中安装Matlab2010

热门文章

  1. 【Xilinx ILA调试】Xilinx 硬件调试ILA
  2. 我的大学时代.篇章四
  3. 小程序 touchstart、touchmove、touchend 在真机中问题解决
  4. torch.normal的用法
  5. Linux与Shell学习15--操作命令12--网络/进程相关命令
  6. 详解在vue项目当中绑定键盘事件
  7. Android项目:仿微信聊天的删除,置顶。
  8. Spring IOC 原理解析
  9. SolrSpringDataSolr
  10. 数据归一化处理的两种方式