大家好,欢迎来到IT知识分享网。
以下实现对关键字的过滤:
两个个文件words.properties和KeyFilter.java;
1、words.properties配置关键字的配置文件;内容如下:
name1
name2
name3
2、KeyFilter.java:
import java.io.IOException;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Enumeration;
import java.util.Properties;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class KeyFilter
{
private static Pattern pattern = null;
// 从words.properties初始化正则表达式字符串
private static void initPattern() {
StringBuffer patternBuffer = new StringBuffer();
try {
InputStream in = KeyFilter.class.getClassLoader().getResourceAsStream(“words.properties”);
Properties property = new Properties();
property.load(in);
Enumeration enu = property.propertyNames();
patternBuffer.append(“(“);
while (enu.hasMoreElements()) {
String scontent = (String) enu.nextElement();
patternBuffer.append(scontent + “|”);
System.out.println(scontent);
}
patternBuffer.deleteCharAt(patternBuffer.length() – 1);
patternBuffer.append(“)”);
// 装换编码
pattern = Pattern.compile(patternBuffer.toString());
} catch (IOException ioEx) {
ioEx.printStackTrace();
}
}
private static String doFilter(String str) {
initPattern();
Matcher m = pattern.matcher(str);
// 选择替换方式,这里以* 号代替 str = m.replaceAll(“*”); return str; } public static void main(String[] args) { String str = “我日,艹,fuck,你妹的 干啥呢”; System.out.println(doFilter(str)); } }
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/10045.html