Java正则表达式过滤并消除非法字符
package sd; import java.util.regex.Matcher;
import java.util.regex.Pattern; /**
*
* @author 大汉
*
*/
public class P { public static void main(String[] args) { // 除了字母数字下划线之外的字符为非法字符
Pattern pattern = Pattern.compile("[^a-zA-Z0-9]");
// 指定设置非法字符
// Pattern pattern = Pattern.compile("[@#]");
String str = "123@abc #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());
}
}
显示结果:

Java正则表达式过滤并消除非法字符的更多相关文章
- Java Filter过滤xss注入非法参数的方法
http://blog.csdn.NET/feng_an_qi/article/details/45666813 Java Filter过滤xss注入非法参数的方法 web.xml: <filt ...
- Java正则表达式过滤出字母、数字和中文
原文:http://blog.csdn.net/k21325/article/details/54090066 1.Java中过滤出字母.数字和中文的正则表达式 (1)过滤出字母的正则表达式 [^(A ...
- java正则表达式过滤html标签
import java.util.regex.Matcher; import java.util.regex.Pattern; /** * <p> * Title: HTML相关的正则表达 ...
- Python sql注入 过滤字符串的非法字符
#coding:utf8 #在开发过程中,要对前端传过来的数据进行验证,防止sql注入攻击,其中的一个方案就是过滤用户传过来的非法的字符 def sql_filter(sql, max_length= ...
- Java 正则表达式 过滤html标签
extends:http://aguang520.iteye.com/blog/1056686# 前段时间开发的时候要读取一篇文章的简介内容(也就是前200个字符),使用了隐藏字段,可能有人就要问了, ...
- 过滤Windows文件名中的非法字符
转载:http://blog.csdn.net/infoworld/article/details/42033097 场景: 1. 通常生成文件时需要一个文件名,而生成文件名的方式可能是通过用户输入的 ...
- AndroidStudio非法字符: '\ufeff'解决
一. 问题解决办法 在昨天,帮助同学把他的Android项目从eclipse迁移到Android Studio上面的时候,编译时,Android Studio报了一个错误, ***.java Erro ...
- Java正则表达式语法
Java正则表达式 表达式意义: 1.字符 x 字符 x.例如a表示字符a \\ 反斜线字符.在书写时要写为\\\\.(注意:因为java在第一次解析时,把\\\\解析成正则表达式\\,在 ...
- java 非法字符过滤 , 半角/全角替换
java 非法字符过滤 , 半角/全角替换 package mjorcen.netty.test1; import java.io.UnsupportedEncodingException; publ ...
随机推荐
- css中的数学表达式calc()
前言 数学表达式calc()是CSS中的函数,主要用于数学运算.使用calc()为页面元素布局提供了便利和新的思路. 概念 数学表达式calc()是calculate计算的缩写,它允许使用+.-.*. ...
- C# GetHashCode在x64与x86版本下不一样
最好指定一下目标平台
- vue使用md5,base64方法
在前端加密代码虽然对安全没有提高,但是可以避免明文传输,提供用户隐私保护,还是很有必要的. 首先安装js-md5,js-base64. 在vue中引入. 之后就可以直接使用了,一般的做法是先把密码转行 ...
- 迅为iTOP-4418开发板-Android5.1系统编译补充
基于iTOP-4418开发板-Android5.1系统编译补充 5.6 编译-20181225 日期之后的源码 本文档补充介绍 4418 编译网盘目录 “J:\局域网共享_阮\iTOP4418 开发板 ...
- 51nod 1423 最大二“货” 单调栈
利用单调栈,高效求出每个区间内的最大值和次大值的亦或值. 先正向扫描,利用单调递减栈,若当前栈为空栈,则直接压入栈中,若为非空栈,弹出栈顶元素,每弹出一个元素,则求一次亦或值,保留最大值 接着进行反向 ...
- 【转】Java中的static关键字解析
一.static关键字的用途 在<Java编程思想>P86页有这样一段话: “static方法就是没有this的方法.在static方法内部不能调用非静态方法,反过来是可以的.而且可以在没 ...
- C++设计模式——适配器模式
生活中的适配器 买笔记本电脑,买手机时,都有一个电源适配器,电源适配器又叫外置电源,是小型便携式电子设备及电子电器的供电电压变换设备,常见于手机,笔记本电脑上.它的作用是将家里的220V高电压转换成这 ...
- MS SQL Server NULL处理
-- 首先在用户表中插入数据如下 TRUNCATE TABLE UserInfo ; INSERT INTO userinfo(UserName,UserLogin,UserPassword,User ...
- eclipse 报错问题:java.lang.ClassNotFoundException:
解决方法:https://www.cnblogs.com/whatlonelytear/articles/5921978.html
- 主席树入门——询问区间第k大pos2104,询问区间<=k的元素个数hdu4417
poj2104找了个板子..,但是各种IO还可以进行优化 /* 找区间[l,r]第k大的数 */ #include<iostream> #include<cstring> #i ...