Java如何判断字符串中包含有全角,半角符号,以及去除中文
全角:是指中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如何判断字符串中包含有全角,半角符号,以及去除中文相关推荐
- Java如何判断字符串中包含有全角,半角符号
一.全角跟半角之间的区别 在计算机屏幕上,一个汉字要占两个英文字符的位置,人们把一个英文字符所占的位置称为"半角",相对地把一个汉字所占的位置称为"全角".在汉 ...
- java 如何判断字符串中包含有全角,半角符号
参考链接:http://www.cnblogs.com/Ant-soldier/p/6373766.html 1.通过字符编码的范围进行判断. ascii编码对照http://tool.oschina ...
- java 判断全角_Java如何判断字符串中包含有全角,半角符号
首先介绍下全角跟半角之间的区别: 在计算机屏幕上,一个汉字要占两个英文字符的位置,人们把一个英文字符所占的位置称为"半角",相对地把一个汉字所占的位置称为"全角" ...
- JS判断字符串中是否有全角字符
var str="sssssss" var str2=str.match(/[\uff00-\uffff]/g); if(str!=null){ alert("以下字符& ...
- java 包含几个字符_java怎么判断字符串中包含多少个字符
java怎么判断字符串中包含多少个字符 发布时间:2020-06-23 23:13:52 来源:亿速云 阅读:180 作者:Leah java怎么判断字符串中包含多少个字符?针对这个问题,今天小编总结 ...
- python怎么判断字符串中包含特殊符号
python判断字符串中包含特殊符号的方法:首先使用"for i in string"命令来遍历输入的字符串:然后输入"if i in input_psd"命令 ...
- java 工具类-去除字符串中特殊字符、全角转为半脚、获取字符串中姓名/电话、姓名重复后追加a.b.c...aa,ab..
java 工具类-去除字符串中特殊字符.全角转为半脚.获取字符串中姓名/电话.姓名重复后追加a.b.c-aa,ab- public class NameUtil {/*** 姓名重复后追加a.b.c. ...
- Java代码判断字符串中是否含有表情
最近在发微信公众号模版消息时遇到一个问题,如果用户的nickname中有表情,那么消息的字体颜色就会发生变化,像这样: 这个问题应该是微信的问题,所以我们不能解决掉这个bug,只能等腾讯爸爸来修复.唯 ...
- Oracle MySQL Hive sql判断字符串中包含某个字符的个数
用length函数求出字符串长度,再对源数据中某个字符去掉求字符串长度,两个长度相减,得出包含某个字符的个数 MySQL所有版本: select length('2022-11-16') - leng ...
最新文章
- Python3 定时访问网页
- 算法学习:后缀自动机
- 解密亚洲诚信如何做到HTTPS的最佳安全实践
- LeetCode 198 House Robber Python
- android小知识之意图(intent)
- (转)浏览器兼容的JS写法总结
- 网友投诉顺丰快递员私拆快递物品摆拍、言语骚扰 官方处理来了...
- 中国加热织物市场趋势报告、技术动态创新及市场预测
- Python学习笔记(十三)文件操作函数
- 多个需要验证的输入框思路问题
- Java 调用SAP PI PO 的Rest JSON接口
- 国产数据库 OceanBase 二次刷榜 TPC-C,7 亿 tpmC
- 机器学习实战 | SKLearn入门与简单应用案例
- 又是一年金九银十!docker搭建ssr
- krpano学习——xml代码
- 极简Python语法(5)
- 数据库第八周实验——第五章课后题
- 怎么用python画指北针?
- 中兴冲破“阈值”,家庭监控市场或将重新排位
- Ubuntu中安装Matlab2010