方法一:
测试代码如下:
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 & 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. }
相关推荐
C++全角半角字符转换
对全角半角字符串的处理,对全角半角字符串的处理,对全角半角字符串的处理
可以实现字符串的全角到半角及半角到全角的转换,还是挺方便的,不对空格以及ascii表中其他可见字符之外的字符做任何处理,可以运行
相信对于每一个编程人员来说,在文本处理的时候,经常会遇到全角半角不一致的问题。于是需要程序能够快速的在两者之间互转。由于全角半角本身存在着映射关系,所以处理起来并不复杂。 具体规则为: 全角字符...
全角字符从的unicode编码从65281~65374 半角字符从的unicode编码从 33~126 空格比较特殊,全角为 12288,半角为 32 而且除空格外,全角/半角按unicode编码排序在顺序上是对应的 所以可以直接通过用+-法来处理非空格...
本文实例讲解了Python实现全角半角转换的方法,相信对于大家的Python学习能够起到一定的参考借鉴价值。如下所示: 一、全角半角转换概述: 全角字符unicode编码从65281~65374 (十六进制 0xFF01 ~ 0xFF5E) 半角字符...
VB字符排版字符处理程序,支持对文字进行简单的排版,全角半角转换、删除空行及回车符、重载文本等。
工具好词一个简单的高级非法词(敏感词)检测组件,附带繁体简体互换,支持全角半角互换,获取拼音首字母,获取拼音字母,拼音模糊搜索等功能。 C#语言,使用StringSearchEx2.Replace过滤,在48k敏感词库上的过滤...
DELPIH 全角转成半角,字符串处理。
在自然语言处理过程中,全角、半角的的不一致会导致信息抽取不一致,因此需要统一,下面这篇文章主要给大家介绍了关于python3中全角和半角字符转换的方法,需要的朋友可以参考借鉴,下面来一起看看吧。
Android开发、Bitmap 压缩相关操作...判断两字符串是否相等 判断两字符串忽略大小写是否相等 null转为长度为0的字符串 返回字符串长度 首字母大写 首字母小写 反转字符串 转化为半角字符 转化为全角字符)等处理工具类
C#全半角转换代码,处理字符串中的全角字符,解决因输入法导致的数据错误
一款优秀的多功能文字处理软件,集文字录入、编辑、转换、修饰、排版、保存、设置、预览、打印为一体,实现了标准文本转换、GBK与BIG5简繁转换、全角半角字符转换、中英文标点符号的转换、字母大小写转换、WORD文件...
特殊字符(\,_,%)转义工具类 MyQueryInterceptor.java: Mybatis自定义拦截器 注意:该拦截器只支持QueryWrapper的like方法,serviceImpl层传全角模糊查询(%%) mapper或xml层的全角模糊查询(%*%)和半角模糊查询(%*或*%)
2:字符串格式转换(大小写,全角半角) 3:命令工具栏(输入指令获取网页源代码和一些文本常规操作) 4:字符替换新增(换行符替换功能) 5:撤销和重做步骤增加到500步 6:程序打开以及读写速度优于系统Notepad 7:程序无需安装...
特殊字符(\,_,%)转义工具类 MyQueryInterceptor.java: Mybatis自定义拦截器 注意:该拦截器只支持QueryWrapper的like方法,serviceImpl层传全角模糊查询(%%) mapper或xml层的全角模糊查询(%*%)和半角模糊查询(%*或*%)
1.去除字符串头部和尾部所包含的空格、制表符、换页符(全角和半角), 2.消除开头的制表符 3.消除结尾的制表符 4.去空格方法 5.读取文本后又转成文本
复制代码 代码如下: /** * 将一个字串中含有全角的数字字符、字母、空格或’%+-()’字符转换为相应半角字符 * @access public * @param string $str 待转换字串 * @return string $str 处理后字串 */ function make_...
unicode_hfwidth 该库提供了检索 Unicode 代码点的半角和全角形式的函数,如 Unicode“半角和全角形式”块中所指定。