`
ihuashao
  • 浏览: 4726323 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

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

}
输出为:
__________________________________

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敏感词过滤技术的实现方法,包括敏感词库的加载、正则表达式的构建以及过滤逻辑的具体实现。通过对这些关键技术点的理解,可以帮助开发者更好地设计和实现自己的敏感词过滤系统。

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

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

    java防sql注入攻击过滤器

    本篇文章将深入探讨如何在Java中实现一个防SQL注入的过滤器,以及它的重要性。 SQL注入的原理是利用应用程序处理用户输入数据时的不足,将恶意SQL语句嵌入到原本合法的查询中。例如,如果一个登录接口的用户名字段...

    敏感词分析报告.docx

    - **功能**:读取`sensitive.txt`文件中的敏感词,并统计其在待分析文本文件中的出现次数。 - **实现细节**: - 使用文件读取API(如BufferedReader)读取`sensitive.txt`中的词汇。 - 对待分析文本进行逐行扫描...

    基于springboot实现的博客系统、具备评论、留言、简历编写下载、敏感词过滤等功能.zip

    标题中的“基于SpringBoot实现的博客系统”是一个使用SpringBoot框架构建的Web应用程序,它集成了多种功能,如评论、留言、简历编写和下载以及敏感词过滤。SpringBoot是Spring框架的一个子项目,旨在简化Spring应用...

    JAVA开发的Blog系统

    为了防止恶意评论,博客系统通常会有审核机制,比如启用验证码或设置敏感词过滤。 除此之外,搜索功能也是不可或缺的,用户可以通过关键词搜索感兴趣的文章。后台需要实现全文检索或关键字匹配算法,以提高搜索效率...

    JAVA文本相似度查重代码及示例

    JAVA查重算法,包括HanLP 相似度比较、二叉树、DFA算法实现、敏感词处理工具、IKAnalyzer中文分词工具、分词进行敏感词过滤等查重算法,可以计算海明距离、余弦相似性、莱文斯坦距离、Jaccard 相似度、Sorensen Dice...

    Java GPT 的逆向工程SDK 可扩展用于聊天机器人等.zip

    5. **后处理**:根据需要对模型生成的文本进行进一步处理,如过滤敏感词、调整语法或情感。 6. **反馈给用户**:将处理后的文本输出给用户,完成一次对话循环。 由于提供的压缩包文件名`chatgpt-java-main`暗示了这...

    SpringBoot2.2.6 整合Jwt实现前后端分离

    本篇文章将详细讲解如何在SpringBoot 2.2.6版本中整合MyBatis 3.5.4,并利用JWT技术实现前后端分离。 首先,我们需要了解SpringBoot 2.2.6的核心特性。这一版本提供了许多改进,包括更好的错误处理、自动配置优化...

    elasticsearch+Mybatis+Aop

    这篇文章将详细讲解这三个技术的结合及其在实际项目中的应用。 `Elasticsearch` 是一个分布式、开源的搜索引擎,以其强大的全文检索、实时分析性能和高可扩展性而闻名。它不仅适用于搜索,还能用于日志分析、监控等...

    基于SpringBoot-Mybatis的一个二次元的个人博客网站+源代码+文档说明

    * 敏感词的过滤 * 在线编辑html页面 * 邮件回复 # 覆盖的知识点 * SpringBoot * Mybatis * Netty * dropzone * aplayer音乐播放器 * DFA算法 * Pjax * Thymleaf * Spring mail * Redis * Spring 拦截器 ## 项目备注 ...

    Z-Blog 2.0 Doomsday Build 121221

    IP追溯、数字过滤、火星文过滤、自定义提示语、直接拦截等功能,加上利用正则制作的黑词列表和敏感词列表,帮助您更好拦截SPAM 支持智能手机管理博客 手机wap功能进一步增强,支持图片上传,支持文章管理,支持...

    csw5.0中文分词组件

    可根据用户需要自行定义干扰字、无意义字、敏感词过滤列表。如:啊、唉、个、了等无意义的以及煸动、反动、黄色和侵害他人的汉字、词组及英文。 9. 具有英文分词识别功能。 本组件同时具有英文单词的分词识别功能。 ...

Global site tag (gtag.js) - Google Analytics