今天就跟大家聊聊有关java用正则表达式过滤特殊字符的方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
实例代码如下:
public class FilterSpecialStr {
public static void main(String[] args) {
String regEx="[\n`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}‘;:”“’。, 、?]";
// 除了字母数字下划线之外的字符为非法字符
Pattern pattern = Pattern.compile(regEx);
// 指定设置非法字符
// Pattern pattern = Pattern.compile("[@#]");
String str = "123@abc {} \n #D EF。";
Matcher matcher = pattern.matcher(str);
StringBuffer buffer = new StringBuffer();
//如果找到非法字符
while (matcher.find()) {
// 如果里面包含非法字符如冒号双引号等,那么就把他们消去,并把非法字符前面的字符放到缓冲区
matcher.appendReplacement(buffer, "");
}
// 将剩余的合法部分添加到缓冲区
matcher.appendTail(buffer);
System.out.println("过滤前的字符: " + str);
System.out.println("过滤后的字符: " + buffer.toString());
}
}
输出的结果:
过滤前的字符: 123@abc {}
#D EF。
过滤后的字符: 123abcDEF
看完上述内容,你们对java用正则表达式过滤特殊字符的方法有进一步的了解吗?如果还想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。