java去除文章中的敏感詞

jopen 11年前發布 | 22K 次閱讀 Java開發 Java

做博客或bbs時;文章中經常會有些敏感詞要去掉; 以下是一個java實現這個功能的小例題: 兩個個文件words.properties和KeyWordFilter.java;1、words.properties文件是個文本文件;內容如下:
敏感詞一
敏感詞二
敏感詞三
 
2、KeyWordFilter.java是個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 KeyWordFilter 
{
 private static Pattern pattern = null;
 // 從words.properties原始 化正則表達式字符串
 private static void initPattern()
 {
  StringBuffer patternBuf = new StringBuffer("");
  try
  {
   InputStream in = KeyWordFilter.class.getClassLoader().getResourceAsStream("words.properties");
   Properties pro = new Properties();
   pro.load(in);
   Enumeration enu = pro.propertyNames(); 
   patternBuf.append("(");
   while(enu.hasMoreElements())
   {
    patternBuf.append((String)enu.nextElement()+"");
   }
   patternBuf.deleteCharAt(patternBuf.length()-1);
   patternBuf.append(")");

//unix換成UTF-8 //pattern = Pattern.compile(new String(patternBuf.toString().getBytes("ISO-8859-1"), "UTF-8")); //win下換成gb2312 pattern = Pattern.compile(new String(patternBuf.toString().getBytes("ISO-8859-1"), "gb2312")); } catch(IOException ioEx) { ioEx.printStackTrace(); } } private static String doFilter(String str) { Matcher m = pattern.matcher(str); str = m.replaceAll(""); return str; }

public static void main(String[] args) { String str = "國敏感詞一院學位辦就敏感詞三的報道表示敏感詞二"; System.out.println("str:"+str); initPattern(); Date d1 = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss:SSS Z"); System.out.println("start:"+formatter.format(d1)); System.out.println("共"+str.length()+"個字符,查到" + KeyWordFilter.doFilter(str)); Date d2 = new Date(); System.out.println("end:"+formatter.format(d2)); }

}</pre>
輸出為:
__________________________________
str:國敏感詞一院學位辦就敏感詞三的報道表示敏感詞二
start:星期二, 24 三月 2009 14:50:17:171 +0800
共23個字符,查到國院學位辦就的報道表示
end:星期二, 24 三月 2009 14:50:17:531 +0800

來自:http://my.oschina.net/songhongxu/blog/184721
</span>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!