前几天在做安卓项目时遇到个小问题
要求一个Edittext输入框过滤除中文、英文、数字和下划线其它的一切字符
这时候正则表达式就能用上啦
看到网上的资料很多 今天把自己用上的代码贴出来 和大家分享一下
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Text {
public static void main(String[] args) {
boolean flag = false;
String regxStr = "^[\\d\\_\u4e00-\u9fa5a-zA-Z]*$";//实现过滤 根据需求在这里更改就可以了
//String regxStr = "\\S*";// 这行是过滤空格
Pattern p = Pattern.compile(regxStr);
String str = "有没有特殊符合啊"; //这是内容 随便写的 测试用
Matcher m = p.matcher(str);
flag = m.matches();
// boolean flag = true;
if (flag) {//当内容符合我们的需求时为 true
System.out.print(flag);
} else {//含有特殊字符时 比如把内容改为 "有没有+特殊符合啊"
System.out.print("含有特殊字符喔");
}
}
}
这样就可以实现我们需要的过滤效果啦