java 特殊符号正则_java利用正则表达式处理特殊字符的方法实例
前言
一串字符串中有特殊符号,可能会影响到相关接口业务,所以需要把字符串中的特殊字符都过滤掉
百度上面搜索大部分处理方法是通过正则表达式, 他需要处理的特殊符号都写进正则表达式中去校验, 这种方式一眼看过去就非常别扭, 感觉不灵活, 万一需要过滤其他的又得临时加进去
解决方案
如下所示
public static String stringFilter (String str){
String regEx="[\\u00A0\\s\"`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“'。,、?]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
return m.replaceAll("").trim();
}
这种方式是网上普遍能搜索到的, 个人任务极其的low, 不推荐使用, 推荐使用下面这种
public static String romveSpecialChar(String str) {
String regEx = "\\pP|\\pS|\\s+";
str = Pattern.compile(regEx).matcher(str).replaceAll("").trim();
return str;
}
这种方式就比较简洁, 中国pP和pS匹配特殊符号然后替换掉, 也可以结合其他稍作修改就好更加完美
注意事项
其中
\s+是空格一个或者多个,不管在那个位置都能匹配
\pP 其中的小写 p 是 property 的意思,表示 Unicode 属性,用于 Unicode 正表达式的前缀。
大写 P 表示 Unicode 字符集七个字符属性之一:标点字符。
其他六个是
L:字母;
M:标记符号(一般不会单独出现);
Z:分隔符(比如空格、换行等);
S:符号(比如数学符号、货币符号等);
N:数字(比如阿拉伯数字、罗马数字等);
C:其他字符
上面这七个是属性,七个属性下还有若干个子属性,用于更进一步地进行细分。
Java 中用于 Unicode 的正则表达式数据都是由 Unicode 组织提供的。
这个文本文档一行是一个字符,第一列是 Unicode 编码,第二列是字符名,第三列是 Unicode 属性, 以及其他一些字符信息。
总结
到此这篇关于java利用正则表达式处理特殊字符的文章就介绍到这了,更多相关java正则表达式处理特殊字符内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
java 特殊符号正则_java利用正则表达式处理特殊字符的方法实例相关推荐
- java socket 聊天室_java利用Socket实现聊天室功能实例
导读热词 最近研究了下Java socket通信基础,利用代码实现了一个简单的多人聊天室功能,现把代码共享下,希望能帮到有兴趣了解的人. 目录结构: ChatClient: package com.p ...
- java随机生成标点符号_java去除空格、标点符号的方法实例
代码如下: public class TempTest { public static void main(String[] args) { //string去除空格 String str=" ...
- java的nextint种子_java.util.Scanner.nextInt(int radix)方法实例
全屏 java.util.Scanner.nextInt()方法扫描输入的下一个标记为int.此方法将抛出InputMismatchException,如果如下文所述的下一个标记不能转换为有效的int ...
- Java正则表达式提取字符的方法实例
正好遇到一个需求需要将字符串中特定的字符全部提取出来,这个如果是按常规的字符串处理的话非常的繁琐.于是想到用正则表达式来完成,对java正则表达式提取字符的方式实例感兴趣的朋友一起学习吧 正好遇到一个 ...
- java 去除字符串中的英文_Java利用正则表达式去掉字符串中的英文
利用正则表达式去掉字符串中的英文String str = "111,aaa,222,bbb"; Pattern p = Pattern.compile("[a-zA-z] ...
- java 固定电话正则_java针对电话号码正则匹配实例
本文实例讲述了java针对电话号码正则匹配的方法.分享给大家供大家参考.具体如下: public interface RegExpConst { /** * 手机号码 * 移动:134[0-8],13 ...
- java判断手机号_java使用正则表达式判断手机号的方法示例
本文实例讲述了java使用正则表达式判断手机号的方法.分享给大家供大家参考,具体如下: 要更加准确的匹配手机号码只匹配11位数字是不够的,比如说就没有以144开始的号码段, 故先要整清楚现在已经开放了 ...
- java各种符号用法_java“与”符号写法与用法
java"与"符号写法与用法 java"与"符号怎么打出来的 java中"与"符号使用键盘上的 Shift + 数字7 即可打出来.(不是小 ...
- 不能包含全角 正则_java常用正则表达式
只能输入数字:"^[0-9]*$". 只能输入n位的数字:"^d{n}$". 只能输入至少n位的数字:"^d{n,}$". 只能输入m~n位 ...
最新文章
- JESD204B概述
- SpringBoot Actuator监控【转】
- python 搭建web应用程序_用Python构建数据科学Web应用程序
- android实现跑马灯效果(最小集代码)
- 通知公告阅读日志构建说明
- 数据结构与算法之栈入门题目
- DNS服务系列之二:DNS区域传送漏洞的安全案例
- Win7下使用toad连接oracle出现can't initialize OCI -1
- 图片传输_一幅图片的奇妙旅行,网络传输分层通信协议原理揭秘
- GPS 实景识别网络搭建项目(源码免费领取)
- 使用 ABAP 代码制作手机能够扫描的二维码(QRCode)
- 笔记本win10 1709 安装 v4w的教程
- CAS4搭建HTTP环境
- pycharm免安装版推荐
- 什么是tomcat?tomcat是干什么用的?下面带你们认识tomcat!通俗易懂!
- 推荐一些 iOSer 创办的硬核公众号
- linux下载tkinter模块,Linux升级Python提示Tkinter模块找不到解决
- 休闲一下---沙雕朋友圈的日常
- 多开分身苹果版_【苹果/安卓】影分身,我们每个人都会!
- 北漂IT男返乡创业,草根逆袭回忆录(下)