Java 简单高效处理字符串-删除所有标点

来源:互联网 发布:近视蓝光眼镜 知乎 编辑:程序博客网 时间:2024/06/06 04:47

应用:

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

在这里利用的是Unicode编码,Unicode 编码并不只是为某个字符简单定义了一个编码,而且还将其进行了归类。

\pP 其中的小写 p 是 property 的意思,表示 Unicode 属性,用于 Unicode 正表达式的前缀。

大写 P 表示 Unicode 字符集七个字符属性之一:标点字符。
其他六个是
L:字母;
M:标记符号(一般不会单独出现);
Z:分隔符(比如空格、换行等);
S:符号(比如数学符号、货币符号等);
N:数字(比如阿拉伯数字、罗马数字等);
C:其他字符

Java 中用于 Unicode 的正则表达式数据都是由 Unicode 组织提供的。Unicode 正则表达式标准(可以找到所有的子属性)
http://www.unicode.org/reports/tr18/
http://www.unicode.org/Public/UNIDATA/UnicodeData.txt
这个文本文档一行是一个字符,第一列是 Unicode 编码,第二列是字符名,第三列是 Unicode 属性,
以及其他一些字符信息。

附上实例:

public static void main(String[] args) {          String str = ",.!,,D_NAME。!;‘’”“《》**dfs  #$%^&()-+1431221中国123漢字かどうかのjavaを決定";          str = str.replaceAll("[\\pP‘’“”]", "");          System.out.println(str);      }  
结果:DNAMEdfs  $^+1431221中国123漢字かどうかのjavaを決定

注:其它类似的问题也可以利用Unicode字符集的属性来解决,这样做即安全又可靠,不容易出错。

转载自:http://blog.csdn.net/welcome000yy/article/details/7824429

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 百度网盘下载速度慢怎么办 负债累累没有钱没有资源怎么办 好福利密码忘了怎么办 手机无法申请百度网盘怎么办 魅族手机运行慢怎么办 阿里小宝卡流量用完了怎么办 阿里宝卡流量用完了怎么办 百度网盘本地空间不足怎么办 百度网盘空间不足怎么办 百度网盘容量不够怎么办 百度网盘内存不够怎么办 百度网盘储存空间不足怎么办 百度网盘手机号注销了怎么办 手机系统升级后照片没了怎么办 换手机照片没了怎么办 苹果手机icloud满了怎么办 百度网盘密码忘记怎么办 手机卡不用了支付宝账号怎么办 手机校园网不弹出登录界面怎么办 百度云需要邮箱验证怎么办 网页百度网盘不播放视频怎么办 手机qq邮箱中转站容量不足怎么办 qq邮箱容量满了怎么办 手机邮箱中转站容量不足怎么办 微信号登陆要好友验证怎么办 邮箱账号名忘了怎么办 苹果六话筒坏了怎么办 iphone后置摄像头坏了怎么办 苹果8听歌声音小怎么办 酷狗音乐没了怎么办 手机听歌音量小怎么办 苹果手机酷狗音乐打不开怎么办 电脑酷狗音乐打不开怎么办 酷狗音乐无法运行播放怎么办? 酷狗音乐停止运行怎么办 米6蓝牙声音小怎么办 手里酷狗id丢了怎么办 连麦声音不好听怎么办 微信语音声音很难听怎么办 微信聊天语音没有声音怎么办 微信发语音声音不好听怎么办