java实现敏感词过滤
时间: 2023-08-01 07:08:42 浏览: 144
在Java中,可以使用不同的方法来实现敏感词过滤。其中,常见的方法包括使用indexOf()方法和contains()方法。
方案一:使用indexOf()方法
可以使用indexOf()方法来判断字符串中是否包含敏感词,并返回对应的下标。例如,可以使用以下代码实现敏感词过滤:
```java
public static void main(String\[\] args) {
String a = "敏感词";
String b = "我的敏感词";
System.out.println(b.indexOf(a));
if (b.indexOf(a) > 0) {
System.out.println("有敏感词");
}
}
```
这段代码会输出敏感词在字符串中的下标,如果返回值大于0,则表示字符串中包含敏感词。
方案二:使用contains()方法
另一种方法是使用contains()方法来判断字符串中是否包含敏感词。例如,可以使用以下代码实现敏感词过滤:
```java
public static void main(String\[\] args) {
String a = "敏感词";
String b = "我的敏感词";
System.out.println(b.contains(a));
if (b.contains(a)) {
System.out.println("有敏感词");
}
}
```
这段代码会输出一个布尔值,表示字符串中是否包含敏感词。
需要注意的是,这两种方案在敏感词数量较少时性能较好,但当敏感词数量增多时,检测时间会呈线性增长,可能会导致性能问题。如果项目中有成千上万个敏感词,可以考虑使用DAF(Deterministic Finite Automaton)有穷自动机算法来实现敏感词过滤。这种算法可以提高敏感词检测的效率。
#### 引用[.reference_title]
- *1* *2* *3* [Java敏感词过滤](https://blog.csdn.net/qq_40618664/article/details/122623989)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文