我们做博客或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
分享到:
相关推荐
在IT行业中,过滤敏感汉字字符是一项重要的数据处理任务,尤其在网络安全、社交媒体监控以及文本分析等领域。这个任务的目的是为了防止或控制不适当、非法或有害的信息传播,确保网络环境的和谐与安全。以下是关于...
实现过滤敏感字,敏感词的过滤和转换
在IT行业中,非法文字过滤器是一种常见的安全机制,主要用于防止用户输入可能引发安全问题或违反社区准则的文字。这种过滤器通常被应用在网络平台、社交媒体、论坛以及各类在线服务中,以确保用户交互内容的合规性。...
3. **安全过滤**:过滤敏感字符,防止SQL注入、跨站脚本攻击等。 4. **性能优化**:例如,开启GZIP压缩,减少网络传输的数据量。 5. **权限控制**:检查用户权限,决定是否允许访问特定资源。 ### 5. 扩展性与灵活...
其中,文字过滤是一项至关重要的技术,它主要用于确保用户在输入数据时不会包含潜在的有害或敏感信息。本示例中的"文字过滤(ajax+jquery+servlet)"项目,就是利用Ajax、jQuery和Servlet来实现这样一个功能,它能在...
非法文字可能包括特殊字符、敏感词汇或不符合规则的输入,这些都可能导致程序错误、安全漏洞或者用户体验下降。过滤非法文字的功能通常应用于用户输入验证、内容发布系统、社交媒体平台等场景。 实现这样的功能,...
现在几乎所有的网站再发布带有文字信息的内容时都会要求过滤掉发动的、不健康的、影响社会安定的等敏感词汇,这里为大家提供了可以是现在这种功能的解决工具类:敏感字收录文件+敏感字工具使用
本文将深入探讨“文字敏感性校验”和“文字转语音”这两个主题,以及如何利用Java库来实现这些功能。同时,我们还将讨论日志处理框架log4j2的整合应用。 首先,让我们关注“文字敏感性校验”。在这个领域,百度AIP...
3. 敏感内容识别:对转化后的文本进行敏感词过滤,这通常涉及到建立一个包含各类敏感词汇的数据库,系统会比对直播内容中的文字是否包含这些词汇。敏感词库应定期更新,以应对不断变化的社会规范和法律法规要求。 4...
其中,通过图片散播敏感文字已经成为一种难以被传统文本过滤手段捕捉到的方式。为了应对这一挑战,研究人员开始探索利用深度学习技术进行图片中敏感文字的检测。本文将详细介绍一种基于深度学习的图片敏感文字检测...
本话题聚焦于利用多线程实现高效地过滤脏字和不和谐文字,这对于网络内容审核、社交媒体监控、论坛管理等应用场景至关重要。 首先,我们要理解“脏字”和“不和谐文字”的概念。这些词汇通常指的是含有侮辱性、攻击...
本文将详细介绍如何在Angular框架下实现敏感文字的自动过滤与提示功能,并通过实例来展示相关的操作技巧。以下知识点将围绕Angular框架、过滤器(filter)的创建与使用、实时数据绑定、以及如何通过AngularJS控制HTML...
根据提供的文件信息,本文将详细解析“骂人脏字过滤mysql_oracle_sqlserver数据库”的相关知识点,主要包括数据库设计、敏感词库构建以及过滤机制等方面。 ### 数据库设计 #### 表结构定义 根据文件中的SQL语句,...
9. 安全性:在处理敏感信息时,用户需要确保所使用的过滤工具不会泄露数据。因此,软件的隐私政策和数据处理方式也是选择工具时需要考虑的因素。 综上所述,"txt文本文件过滤器"是一个实用的工具,可以帮助用户处理...
在这个场景下,用户可能希望去除TXT文件中的广告内容或其他不相关的文字,以获得更纯净的数据。以下是对这个主题的详细讲解: 1. **文本过滤基本概念**:文本过滤是信息处理的一种方法,主要目标是识别并移除或替换...
### 部分关键字过滤的重要性及其实现方法 在当今互联网时代,用户生成内容(User Generated Content, UGC)已成为网站的重要组成部分。然而,这也带来了新的挑战:如何确保用户提交的内容既安全又合规?其中一个...
标题中的“电信设备-一种面向非特定人的语音敏感信息检测和过滤方法”表明这是一个关于电信领域,特别是关于语音通信安全的技术方案。这个方法的核心目标是保护用户的隐私,防止敏感信息在语音通信中被不当获取或...
综上所述,这款高性能敏感词检测过滤组件集成了多种功能,不仅能够精确过滤敏感词,还能适应不同的文字环境,处理拼音和变体词,确保在复杂多变的网络环境中保持高效准确的过滤效果。无论是用于企业内部的信息安全...
这一步通常涉及去除标点符号、数字转换为文字等操作,以确保敏感词匹配的准确性。 3. **滑动窗口**:遍历文本中的每个字符,设置一个固定长度的窗口(如n个字符),每次移动窗口一位,检查窗口内的字符序列是否在...