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

时间:2024-03-28 08:53:40

参考链接:http://www.cnblogs.com/Ant-soldier/p/6373766.html

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

 ascii编码对照http://tool.oschina.net/commons?type=4

2.通过正则表达式来进行判断

// 纯半角,包含有数字,字母,特殊符号,空格,汉字
        String test1 = "[email protected]#$%^& 幽雨";
        char[] chars_test1 = test1.toCharArray();
        for (int i = 0; i < chars_test1.length; i++) {
            String temp = String.valueOf(chars_test1[i]);
            // 判断是全角字符
            if (temp.matches("[^\\x00-\\xff]")) {
               System.out.println("全角   " + temp);
            }
            // 判断是半角字符
            else {
               System.out.println("半角    " + temp);
            }
        }

测试结果 

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

 

去除字符串中汉字

String ss = "waeaeaea我们women在这里";
System.out.println(ss.replaceAll("[\u4e00-\u9fa5]", ""));

测试结果如下:不管是全角还是半角下的汉字

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

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

 

String ss = "waeaeaea我们women在这里";

char[] chars_ss = ss.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);

测试结果如下:

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

 

使用字符的unicode码进行判断

// 纯半角,包含有数字,字母,特殊符号,空格,汉字
        String test1 = "[email protected]#$%^& 幽雨";

// 首先将汉字用空格替换掉
        test1 = test1.replaceAll("[\u4e00-\u9fa5]", "");

        char[] chars_test1 = test1.toCharArray();
        for (int i = 0; i < chars_test1.length; i++) {
            int charValue = (int) chars_test1[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 如何判断字符串中包含有全角,半角符号