我们做博客或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...
其中,通过图片散播敏感文字已经成为一种难以被传统文本过滤手段捕捉到的方式。为了应对这一挑战,研究人员开始探索利用深度学习技术进行图片中敏感文字的检测。本文将详细介绍一种基于深度学习的图片敏感文字检测...
本话题聚焦于利用多线程实现高效地过滤脏字和不和谐文字,这对于网络内容审核、社交媒体监控、论坛管理等应用场景至关重要。 首先,我们要理解“脏字”和“不和谐文字”的概念。这些词汇通常指的是含有侮辱性、攻击...
主要介绍了Angular实现的敏感文字自动过滤与提示功能,结合实例形式分析了AngularJS针对字符串的输入判定及实时显示相关操作技巧,需要的朋友可以参考下
9. 安全性:在处理敏感信息时,用户需要确保所使用的过滤工具不会泄露数据。因此,软件的隐私政策和数据处理方式也是选择工具时需要考虑的因素。 综上所述,"txt文本文件过滤器"是一个实用的工具,可以帮助用户处理...
在这个场景下,用户可能希望去除TXT文件中的广告内容或其他不相关的文字,以获得更纯净的数据。以下是对这个主题的详细讲解: 1. **文本过滤基本概念**:文本过滤是信息处理的一种方法,主要目标是识别并移除或替换...
这一步通常涉及去除标点符号、数字转换为文字等操作,以确保敏感词匹配的准确性。 3. **滑动窗口**:遍历文本中的每个字符,设置一个固定长度的窗口(如n个字符),每次移动窗口一位,检查窗口内的字符序列是否在...
使用C++写的一套敏感词过滤算法,把敏感词库放到可执行文件的同一目录。经测试,一秒钟最高可达到1千万的处理量。在输入较复杂的文本(200个文字),大概达到50万每秒的处理量。
综上所述,这款高性能敏感词检测过滤组件集成了多种功能,不仅能够精确过滤敏感词,还能适应不同的文字环境,处理拼音和变体词,确保在复杂多变的网络环境中保持高效准确的过滤效果。无论是用于企业内部的信息安全...
防过滤功能可能包括加密、替换敏感词汇、使用特定编码等方法,确保文本能顺利通过过滤机制,传递给目标接收者。 3. **转为图片**:将文本转换为图片可以进一步增加其安全性,因为许多过滤系统无法识别图像中的文字...
2. 保护敏感信息:在电子邮件或其他网络平台上传输含有敏感信息的文字时,将其转换为图片可以避免信息被自动抓取或过滤。 3. 兼容性:某些社交媒体或论坛可能不允许直接发布纯文本,但支持图片上传,此时文字转图片...
同时,为了防止滥用,微信还会对敏感词汇进行过滤,以维护社区环境。 在“微信分享”这一标签下,我们可以进一步了解微信的分享机制。除了分享到朋友圈,微信还支持将内容分享到聊天窗口、其他应用或者直接生成...
确保所有的用户交互都是安全的,包括验证和过滤输入,防止注入攻击,并对敏感信息进行加密。在传输过程中,使用HTTPS协议保证数据的完整性。 综上所述,构建一个聊天界面涉及动态数据绑定、文字输入处理、表情选择...