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

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敏感词过滤

    ### Java敏感词过滤技术解析 #### 一、概述 在互联网时代,为了维护网络环境的健康与安全,很多平台都需要对用户输入的信息进行敏感词过滤处理。敏感词过滤技术主要应用于论坛、博客、社交媒体等场景,用以检测并...

    JAVA 敏感词过滤

    2. SensitiveWordFilter:一个简单的Java敏感词过滤库,提供了多种过滤策略。 3. SnowNLP:虽然主要用于中文文本处理,但也可用于敏感词过滤。 在实际开发中,应结合具体需求选择合适的过滤方法,并考虑性能、准确...

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

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

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

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

    java敏感词检索工具

    Java敏感词检索工具是一种在社区问答、论坛等网络环境中用于过滤和检索可能涉及敏感内容的文本工具。在当今数字化时代,信息安全与言论管理变得尤为重要,此类工具能够帮助平台管理者及时发现并处理潜在的违规信息,...

    java敏感词过滤

    这个“java敏感词过滤”项目提供了一种简单且实用的解决方案,它仅包含两个类和一个敏感词文件,使得开发者能够快速理解和应用。下面将详细介绍这两个关键类的工作原理以及如何使用它们。 1. **敏感词过滤算法**: ...

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

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

    java实现敏感词过滤

    在Java编程语言中,实现敏感词过滤是一项常见的需求,特别是在处理用户输入、社交媒体监控或文本内容审查等场景。本文将详细介绍如何使用Java实现这个功能,包括核心思路、关键技术和相关库的使用。 首先,我们需要...

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

    从提供的文件内容来看,本文是一篇关于Java Web技术研究的文章,主要介绍了一种基于Java Web的敏感词过滤系统的实现方法。该系统通过自动识别和阻断含有敏感词的聊天内容,并将敏感词替换为特定的符号或关键词,以...

    Java实现敏感词过滤功能

    Java实现敏感词过滤功能

    DFA实例敏感词过滤实例,附带关键词文件

    总结一下,这个实例展示了如何使用DFA算法和Java编程实现一个敏感词过滤系统。`SensitiveWordUtil`作为核心工具类,负责构建和操作DFA,`censorwords.prop`文件则是敏感词的来源。这样的系统能够有效地在文本处理...

    网站敏感词过滤Java版.zip

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

    java使用DFA算法实现敏感词过滤

    本文将详细讲解如何使用Java语言结合DFA(Deterministic Finite Automaton,确定有限状态自动机)算法来实现高效敏感词过滤。 首先,让我们了解什么是DFA算法。DFA是一种特殊的图论模型,它由有限个状态和一些输入...

    java做敏感词监测

    在Java编程语言中,敏感词监测是一项重要的功能,特别是在处理用户输入、社交媒体分析、内容过滤等场景中。这个压缩包文件可能包含了一套后端实现敏感词检测的解决方案。下面我们将详细探讨Java如何进行敏感词监测,...

    java四种网站敏感词检测.zip

    本压缩包包含了四种不同的Java敏感词检测工具,它们各有特点,适用于不同的场景需求。 1. **KeyWordFilter**: 这个工具以其高匹配度著称,但其运行速度相对较慢。KeyWordFilter可能采用了全词匹配或者精确匹配的...

    JAVA过滤敏感词

    在Java编程中,过滤敏感词是一项重要的任务,特别是在处理用户输入、社交媒体监控或者网络内容审查时。这个"JAVA过滤敏感词"项目提供了一个自我实现的解决方案,帮助开发者实现在文本中检测并替换或移除敏感词汇。...

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

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

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

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

    Jsp敏感词过滤的示例代码

    在互联网的应用中,用户可以自由地发表评论、进行讨论,但是为了防止不适宜的内容、恶意信息等对社区环境的影响,敏感词过滤成为了论坛、网站等平台的常见功能。Jsp敏感词过滤是网络管理中的一个重要环节,能够帮助...

Global site tag (gtag.js) - Google Analytics