//过滤器接口
public interface Filter {
public String doFilter(String str);
}
//HTML的过滤器
public class HTMLFilter implements Filter{
@Override
public String doFilter(String str) {
if(str==null)return "";
str=str.replace("<", "[");
str=str.replace(">", "]");
return str;
}
}
//敏感词的过滤器
public class SensitiveFilter implements Filter{
@Override
public String doFilter(String str) {
if(str==null)return "";
str=str.replace("敏感", "mingan");
return str;
}
}
//字符串过滤的处理类
public class Process {
private String str;
//把要使用的过滤器写在一起过滤的数组中
Filter[] filters={new HTMLFilter(),new SensitiveFilter()};
//过滤的处理方法
public String process(){
for(Filter filter : filters){
str=filter.doFilter(str);
}
return str;
}
public String getStr() {
return str;
}
public void setStr(String str) {
this.str = str;
}
}
public class Client {
public static void main(String[] args) {
String str="这是我的一个敏感链接<a>优酷</a>";
Process pro=new Process();
pro.setStr(str);
str=pro.process();
System.out.println(str);
}
/**
* 运行结果:
* 这是我的一个mingan链接[a]优酷[/a]
*/
}