`
这些年
  • 浏览: 388499 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

处理字符的全角半角

    博客分类:
  • java
阅读更多

 

方法一:

 

测试代码如下:
class T {
public static void main(String... args) {
String str = "!!
!!去符号标号!!当然。!!..**半角";
System.out.println(str);
System.out.println(str.replaceAll("\\p{Punct}", ""));
System.out.println(str.replaceAll("\\pP", ""));
}
}

 

运行结果
!!
!!去符号标号!!当然。!!..**半角
!!去符号标号!!当然。半角
去符号标号当然半角

 


果子的解释
采用 Unicode 标点属性方式的正则表达式,可以去掉所有的标点符号,
包括全角、半角、横排、竖排等的标点符号。

 

注意一下,如果在 JDK 5 或以下的环境中,全角单引号对、双引号对
无法替换掉,这是 JDK 5 及以下版本缺失的,在 JDK 6 中由于加入了
Pi
Pf 两个 Unicode 子属性,因此就能替换掉。

 

JDK 6 以下的版本中可以这样:

 

str = str.replaceAll("[\\pP‘’“”]", "");

 

 

 

 

 

 

 

 

 

 

 

 

 

方法二:

 

全角与半角与 Java

 

分类:Java & J2EE2010-07-14 11:46470人阅读评论(1)收藏举报

 

[java]view plaincopyprint?

 

1. package com.eg.demo;   

 

2.     

 

3.  /** 

 

4. * 半角全角转换及替换半角全角空白 

 

5.  * @author maochangming 

 

6.*/   

 

7.public class Test {   

 

8.   public static void main(String[] args) throws Exception {   

 

9.       try {   

 

10.            //去首尾空格,不管是全角半角:   

 

11.           String s = "nihaohk    nihehe     ";   

 

12.           System.out.println("s.length=" + s.length());   

 

13.            // s = s.replaceAll("^//s*|//s*$", "");   

 

14.            s = s.replaceAll("(^[ | ]*|[ | ]*$)", "");   

 

15.            s = s.replaceAll(" ", "");   

 

16.             System.out.println("s.length=" + s.length());   

 

17.            System.out.println("s===" + s);   

 

18.    

 

19.             String QJstr = "HELLO";   

 

20.            String QJstr1 = "HELLO";   

 

21.     

 

22.             String result = BQchange(QJstr);   

 

23.             String result1 = QBchange(QJstr1);   

 

24.     

 

25.             System.out.println(QJstr + "/n" + result);   

 

26.            System.out.println(QJstr1 + "/n" + result1);   

 

27.         } catch (Exception ex) {   

 

28.             throw new Exception("ERROR:" + ex.getMessage());   

 

29.         }   

 

30.    }   

 

31.     

 

32.     /** 

 

33.     * 半角转全角 

 

34.      * @param QJstr 

 

35.      * @return 

 

36.    */   

 

37.     public static final String BQchange(String QJstr) {   

 

38.         String outStr = "";   

 

39.         String Tstr = "";   

 

40.        byte[] b = null;   

 

41.     

 

42.         for (int i = 0; i < QJstr.length(); i++) {   

 

43.             try {   

 

44.                 Tstr = QJstr.substring(i, i + 1);   

 

45.                b = Tstr.getBytes("unicode");   

 

46.             } catch (java.io.UnsupportedEncodingException e) {   

 

47.                e.printStackTrace();   

 

48.             }   

 

49.    

 

50.             if (b[3] != -1) {   

 

51.                b[2] = (byte) (b[2] - 32);   

 

52.                 b[3] = -1;   

 

53.                 try {   

 

54.                     outStr = outStr + new String(b, "unicode");   

 

55.                } catch (java.io.UnsupportedEncodingException e) {   

 

56.                    e.printStackTrace();   

 

57.                }   

 

58.             } else   

 

59.                outStr = outStr + Tstr;   

 

60.         }   

 

61.     

 

62.        return outStr;   

 

63.    }   

 

64.     

 

65.     /** 

 

66.      * 全角转半角 

 

67.     * @param QJstr 

 

68.      * @return 

 

69.     */   

 

70.    public static final String QBchange(String QJstr) {   

 

71.         String outStr = "";   

 

72.        String Tstr = "";   

 

73.        byte[] b = null;   

 

74.     

 

75.         for (int i = 0; i < QJstr.length(); i++) {   

 

76.             try {   

 

77.                 Tstr = QJstr.substring(i, i + 1);   

 

78.                b = Tstr.getBytes("unicode");   

 

79.             } catch (java.io.UnsupportedEncodingException e) {   

 

80.                 e.printStackTrace();   

 

81.           }   

 

82.     

 

83.             if (b[3] == -1) {   

 

84.                 b[2] = (byte) (b[2] + 32);   

 

85.                b[3] = 0;   

 

86.                try {   

 

87.                     outStr = outStr + new String(b, "unicode");   

 

88.               } catch (java.io.UnsupportedEncodingException e) {   

 

89.                     e.printStackTrace();   

 

90.                 }   

 

91.            } else   

 

92.                 outStr = outStr + Tstr;   

 

93.         }   

 

94.     

 

95.         return outStr;   

 

96.     }   

 

97.    

 

98. }   

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics