`
xiaokanrensheng87
  • 浏览: 2943 次
社区版块
存档分类
最新评论

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));
}

}
输出为:
__________________________________
str:国敏感词一院学位办就敏感词三的报道表示敏感词二
start:星期二, 24 三月 2009 14:50:17:171 +0800
共23个字符,查到国院学位办就的报道表示
end:星期二, 24 三月 2009 14:50:17:531 +0800
分享到:
评论

相关推荐

    java敏感词过滤功能

    在Java开发中,实现敏感词过滤功能是一项常见的需求,特别是在社交媒体、论坛或评论系统中,以防止用户发布不当或违规内容。本项目的核心是通过Java编程实现敏感词的检测和替换,确保信息的安全和合规性。 `...

    java敏感词过滤(支持指定字段过滤)

    在Java开发中,敏感词过滤是一项重要的功能,尤其在处理用户输入、评论或者社交媒体内容时,需要确保不包含任何可能引发争议或不适当的内容。本项目适用于基于SSM(Spring、SpringMVC、MyBatis)和SpringBoot框架的...

    java实现敏感词过滤

    以下是关于这个Java敏感词过滤实现的详细知识讲解。 首先,我们要理解敏感词过滤的基本原理。通常,敏感词过滤系统会维护一个敏感词库,包含各种禁止或限制使用的词汇。当输入的字符串被检查时,系统会遍历每个单词...

    Java语言实现的敏感词过滤器

    我们在开发系统或者应用的过程中,经常需要对用户提交的评论或者文章进行审核,对其中的敏感词进行校验或者过滤,本资源可以帮助各位小伙伴以一个简单的方式实现敏感词的过滤,代码精简易懂,可以应用在实际开发过程...

    高效敏感词过滤JAVA实现(DFA算法) 5000字2ms

    高效敏感词过滤JAVA实现(DFA算法) 5000字2ms 节点 + 2进制标识(节省空间/提高查询效率) 附源码、注释,附带专业敏感词库(3396个敏感词) 看得上就拿去用,替换下一两处util方法、改个路径即可 不求什么,...

    java敏感词过滤

    本篇文章将深入探讨Java中实现敏感词过滤的技术和方法。 首先,敏感词过滤的核心在于如何有效地匹配和替换敏感词汇。Java提供了一些强大的字符串处理和正则表达式功能,可以用来实现这一目标。正则表达式是匹配文本...

    java 敏感词过滤

    在Java编程环境中,敏感词过滤是一项重要的任务,特别是在处理用户输入、社交媒体监控或者内容审查时。这个主题主要涉及如何在文本中检测并移除或替换指定的敏感词汇,以确保内容的安全性和合规性。以下是对这个知识...

    基于多种敏感词过滤算法的Java敏感词过滤设计源码

    该项目是一款基于Java实现的敏感词过滤系统源码,包含60个文件,其中Java源文件41个,支持多种敏感词过滤算法,包括TTMP、DFA、DAT、hash bucket和Tire算法。系统提供文本高亮、过滤、判词、替换的接口支持,适用于...

    高效Java敏感词过滤系统AC自动机算法源码,支持独立部署与集成注册中心

    本项目是一款高效的Java敏感词过滤系统,基于AC自动机算法实现。系统支持独立部署,同时可便捷集成至注册中心,为各类项目提供敏感词过滤服务。包含文件共117个,其中主要构成如下: - Java源文件:49个 - Class...

    双数组字典树的-java实现,用于敏感词过滤

    双数组字典树(Double Array Trie,简称DAT)是一种高效的数据结构,主要用于字符串搜索和匹配,尤其在处理大量敏感词过滤的场景下表现突出。它是由日本科学家原望治(Hideo Hiraoka)提出的,相比传统的Trie树,DAT...

    网站敏感词过滤Java版.zip

    "网站敏感词过滤Java版.zip" 提供了一种基于Java的解决方案,用于检测和过滤掉可能涉及违法或不适当内容的敏感词。这个压缩包包含了针对敏感词过滤的多种实现方式,适用于各种不同场景,确保了高匹配度和快速过滤...

    WM算法实现_敏感词过滤

    WM算法,全称为“Widow-Matching”算法,是一种常用的文本处理技术,主要用于敏感词过滤。在互联网信息管理、社交媒体监控以及信息安全等领域,敏感词过滤具有重要作用,它可以帮助识别和屏蔽特定的关键词,防止不良...

    一种基于Java Web的敏感词过滤方法研究与实现.zip

    本文主要探讨了一种基于Java Web的敏感词过滤方法的研究与实现,旨在为网络平台提供安全、高效的内容过滤解决方案。 首先,我们要理解Java Web的基本概念。Java Web是Java技术在Web应用中的应用,它包括了Servlet、...

    The sensitive word tool for java敏感词违禁词违法词脏词。.zip

    The sensitive word tool for java敏感词违禁词违法词脏词。

    基于ik分词和DFA算法的敏感词过滤Java设计源码

    该项目是一款基于ik分词和DFA算法实现的敏感词过滤Java设计源码,包含31个文件,涵盖20个Java源文件、3个属性文件、2个Git忽略文件、2个XML文件、2个class文件和1个MD文件等。该系统主要提供接口功能,无页面展示,...

    springBoot-java敏感词语过滤类

    这个"springBoot-java敏感词语过滤类"是一个实用的工具类,用于帮助开发者实现在Java环境中对用户输入或者系统文本进行安全审查,防止不适当、非法或者有害的信息传播。这个工具类通常会包含一系列的方法,用于匹配...

    敏感词过滤系统

    系统主要使用由北京师范大学2000级计算机系张人杰开发制作的基于多叉树的查找的Java工具包:alex-word-filter.jar,工具包自带有2445敏感词的词库。我只是做了简单的应用,写了个小系统。

    WordFilterUtil_java_敏感词_

    "WordFilterUtil_java_敏感词_" 指的是一款用Java语言编写的敏感词过滤工具。这款工具主要用于检测和过滤文本中的敏感词汇,以防止不当内容的传播或确保合规性。下面将详细解释敏感词过滤器的工作原理、实现方式以及...

    敏感词过滤

    在这个场景下,我们关注的焦点是利用Java工具进行敏感词过滤。从提供的文件列表来看,我们有两个关键文件:`SensitiveWord.java` 和 `CensorWords.txt`。 `SensitiveWord.java` 是一个Java源代码文件,很可能包含了...

Global site tag (gtag.js) - Google Analytics