Java练习——实现敏感词的替换

要求:

用户所提交的聊天内容中的敏感性词语进行过滤;如“爆炸”、“恐怖”、“枪”,“侮辱词语…”等需要过滤掉,用其他词语替换掉。
注意敏感词以及对应*的个数对应。

代码展示:

public class Replace {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个字符串:");
        String target = sc.nextLine();//接收控制台输入的内容

        String str [] = {"性","色情","爆炸","恐怖","枪"};

        //1.遍历str中的内容(目的:判断传入的内容里面有没有str中的内容)
        for (String word : str) {

            //2.判断target中有没有敏感词
            if (target.contains(word)){

                //3.判断敏感词的个数 -> 一个敏感词对应一个*...
                int len = word.length();

                //4.定义一个敏感词替换字符
                String replace = "*";
                
                //注意:我们定义的replace已经是*
                //如果输入的是一个字符,直接替换即可,不用进下面的循环
                for (int i = 0; i < len-1; i++) {//5.确定需要替换敏感词的长度,决定*的个数
                    replace += "*";
                }
                
				//6.实现敏感词的替换
                target = target.replace(word,replace);
            }

        }
		//7.控制台打印,替换敏感词后的字符串
        System.out.println(target);
    }
}

注意:

contains(CharSequence s) 
当且仅当此字符串包含指定的char值序列时才返回true//判断传入的字符串s,是否包含指定的字符。

System.out.println("abc".contains("a")); //true
System.out.println("bcd".contains("a")) ;//false

contains(CharSequence s) :方法传入的是一个CharSequence类型的值s,对于CharSequence 类型,可以直接理解为字符串类型

了解:CharSequence
CharSequence 是一个接口,String/StringBuffer/StringBuilder都是其的实现类,所以可以等价为CharSequence就是操作字符串的接口…
Java练习——实现敏感词的替换_第1张图片

欢迎关注微信公众号:小红的成长日记,一起学Java!

你可能感兴趣的:(Java练习题,java,开发语言)