前言:今天练习了用Java语言实现使用StringBuilder实现敏感词过滤,分享一下。
Ps:原创不易,请多多支持!
源代码如下:
package cn.work_0315;
import java.util.Scanner;
/**
* @Auther: xydsr
* @Date: 2023/3/15 14:48
* @Desc: 使用StringBuilder实现敏感词过滤
*/
public class work7 {
public static void main(String[] args) {
//录入键盘输入对象
System.out.println("请输入你想发送的内容:");
Scanner sc = new Scanner(System.in);
String p = sc.nextLine();
//定义需要过滤的关键字
String str [] = {"性","色情","爆炸","恐怖","枪"};
// 创建字符串缓冲区对象
StringBuffer sb = new StringBuffer(p);
for (int i = 0; i <str.length ; i++) {
if(sb.indexOf(str[i]) != -1){
int start = sb.indexOf(str[i]);
int end = sb.indexOf(str[i]) + str[i].length();
//定义一个敏感词替换字符
String replace = "*";
for (int j = 0; j <str[i].length() -1 ; j++) {
replace += "*";
}
//替换敏感字符
sb.replace(start,end,replace);
}
}
System.out.println(sb);
}
}
测试结果如下: