1.设计一个敏感词过滤程序
WordFilter类
属性:数组类型[]存放敏感词
设计一个方法,调用这个方法(传参,可能会包含敏感词的字符串),返回过滤后的新的字符串
public static String filter(String word){
//过滤代码
return word;
}
要求:可以添加多个要过滤的敏感词{"枪","死","打劫","共产党"}
如果是一个字符就替换一个*,如果两个字符就替换**,以此类推
package com.hp.zuoye;
/*
* 过滤字符串中的敏感词汇
* @param content 文本
* @param sensitiveWord 敏感词汇
* @return
*/
public class Demo1 {
public String filterSensitiveWords(String content, String sensitiveWord) {
if (content == null || sensitiveWord == null) {
return content;
}
//获取和敏感词汇相同数量的星号
String starChar = getStarChar(sensitiveWord.length());
//替换敏感词汇
return content.replace(sensitiveWord, starChar);
}
//大部分敏感词汇在10个以内,直接返回缓存的字符串
public static String[] starArr={"*","**","***","****","*****","******","*******","********","*********","**********"};
/**
* 生成n个星号的字符串
* @param length
* @return
*/
private static String getStarChar(int length) {
if (length <= 0) {
return "";
}
//大部分敏感词汇在10个以内,直接返回缓存的字符串
if (length <= 10) {
return starArr[length - 1];
}
//生成n个星号的字符串
char[] arr = new char[length];
for (int i = 0; i < length; i++) {
arr[i] = '*';
}
return new String(arr);
}
}
package com.hp.zuoye;
public class Test1 {
public static void main(String[] args) {
Demo1 d1 = new Demo1();
String a = d1.filterSensitiveWords("打劫&#