敏感词过滤程序编写敏感词过滤程序

 敏感词过滤程序编写敏感词过滤程序


前言

Java程序设计语言课程让我们2-3人一个小组,找一个能用集合解决的问题进行介绍、说明,于是我们就找到了这道题目。

一、题目要求

编写敏感词过滤程序编写敏感词过滤程序

输入一个字符串,将里面的敏感词替换成**。
说明:在网络程序中,如聊天室、聊天软件等,经常需要对一些用户所提交的聊天内容中的敏感性词语进行过滤。如“色情”“恐怖”、“枪”、“军火”等,这些都不可以在网上进行传播,需要过滤掉或者用其他词语替换掉。

二、解体思路

用一个ArrayList把事先设置好的敏感词全部存入,然后输入字符串。遍历ArrayList,将每个元素都替换为**;其中用到了for(String str :list){ }

package HelloProject;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Scanner;

public class sensitiveWordFiltering {
    public static void main(String[] args) {
        
        Scanner input = new Scanner(System.in);    
        System.out.println("请输入一个字符串:");
        String s = input.next();
        List<String> list = new ArrayList<String>();
        list.add("色情");
        list.add("恐怖");
        list.add("枪");
        list.add("军火");
        list.add("傻逼");
        list.add("VPN");
        list.add("卧槽");
        list.add("滚");
        for(String sensitiveWord:list) {    //从循环中获取满足条件的值
            if(sensitiveWord.length()==1) {
                 s = s.replaceAll(sensitiveWord, "*");
            }else {
                 s = s.replaceAll(sensitiveWord, "**");
            }    
        }
        System.out.println("您输入的字符串为:" + s);
    }
}

2.其中用到了for(String str :list){ }

该语句的作用就是把list中的每一个元素赋值给str。

相当于:

List<String> s;
for(int i=0;i<s.length();i++){
String str=s[i];
}

总结

就是很简单的一个集合应用,简单的插入,简单的遍历,简单 的替换。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot 是一个非常流行的 Java Web 开发框架,它提供了丰富的功能和组件,其中包括敏感词过滤。 Spring Boot 中敏感词过滤可以通过使用过滤器(Filter)或者拦截器(Interceptor)来实现。一般情况下,我们使用过滤器来处理对请求和响应的处理。 具体实现步骤如下: 1. 编写一个过滤器,实现 javax.servlet.Filter 接口,并在其中实现对请求和响应的处理。 2. 在 Spring Boot 应用程序中配置该过滤器,一般使用 @Configuration 注解和 @Bean 注解来实现。 以下是一个简单的敏感词过滤器的示例: ```java import javax.servlet.*; import javax.servlet.annotation.WebFilter; import java.io.IOException; @WebFilter(urlPatterns = "/api/*") public class SensitiveWordsFilter implements Filter { private final String[] sensitiveWords = {"敏感词1", "敏感词2", "敏感词3"}; @Override public void init(FilterConfig filterConfig) throws ServletException { // 初始化操作 } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { String content = request.getParameter("content"); for (String word : sensitiveWords) { content = content.replaceAll(word, "***"); } request.setAttribute("content", content); chain.doFilter(request, response); } @Override public void destroy() { // 销毁操作 } } ``` 在上面的示例中,我们定义了一个过滤器 SensitiveWordsFilter,它会拦截所有以 /api 开头的请求。在 doFilter 方法中,我们获取请求中的参数 content,并遍历敏感词数组,将其中的敏感词替换为“***”,最后将处理后的内容重新设置到请求中。 以上是一个简单的示例,实际应用中还需要考虑更多的因素,如性能、可扩展性、过滤器的顺序等。如果你需要更加全面的了解,可以查看 Spring Boot 官方文档或者相关的书籍资料。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值