编写敏感词过滤程序

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

       提示:将用户的聊天内容保存到一个字符串对象或一个StringBuilder对象中,然后与敏感词语类表(数组实现)进行比对。如果属于敏感词语,就过滤掉或替换掉。

 

代码如下:

 

public class HomeWork6 {
    public static void main(String[] args) {
       /* Scanner sc = new Scanner(System.in);
        String str =  sc.nextLine();
        str = str.replace('性','*');
        str = str.replace('枪','*');
        str = str.replaceAll("色情","**");
        str = str.replaceAll("爆炸","**");
        str = str.replaceAll("恐怖","**");
        str = str.replaceAll("军火","**");

        System.out.println(str);*/
        String str = "隔壁老王是个性欲很色情狂,他经常练习恐怖分子,私藏军火枪炮,常常拿着枪械制造爆炸事件!";

        String[] pb = {"性","色情","爆炸","恐怖","军火枪炮","枪"};

        //遍历要屏蔽词的数组
        for (int i = 0; i < pb.length; i++) {
            int len = pb[i].length();//获得当前要屏蔽词的长度

            //根据长度计算需要几个*
            StringBuffer sb = new StringBuffer();
            for (int j = 0; j < len; j++) {
                sb.append("*");
            }

            //把屏蔽词替换成*
            str = str.replace(pb[i], sb.toString());
        }

        System.out.println(str);
    }
}

 

运行结果:

隔壁老王是个*欲很**狂,他经常练习**分子,私藏****,常常拿着*械制造**事件!

 

你可能感兴趣的:(java)