使用的版本:0.29.3
以下是几个case:
- 开启忽略重复词,且敏感词典包含重复词
示例代码:
public static void main(String[] args) {
SensitiveWordBs sensitiveWordBsTest = SensitiveWordBs.newInstance()
//设置敏感词词典
.wordDeny(() -> Arrays.asList("fuck1", "@@@@", "f°a°c°e°b°o°o°k", "嘻嘻哈哈")) // 嘻嘻哈哈 与 嘻嘻哈或 嘻哈哈 的输出效果相同,任何一个字符重叠都不行
// 忽略大小写
.ignoreCase(true)
// 忽略半角圆角
.ignoreWidth(true)
// 忽略重复词
.ignoreRepeat(true)
// 忽略数字的写法
.ignoreNumStyle(true)
// 忽略中文的书写格式
.ignoreChineseStyle(true)
// 忽略英文的书写格式
.ignoreEnglishStyle(true)
.init();
String data = "fuck1@@@@f°a°c°e°b°o°o°k";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "fuck1";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "@@@@ 123456";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "ʜᴇʟʟᴏ ᴡᴏʀʟᴅ嘻嘻哈哈哈或或或哈";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "卡其色下经典鸡尾酒嘻嘻哈哈好多好多快递就睡觉";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "ⒻⒻⒻfⓤuⓤ⒰cⓒ⒦1 the bad words";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
}
输出:
----------[fuck1, F°a°c°e°b°o°o°k]
----------[fuck1]
----------[]
----------[]
----------[]
----------[ⒻⒻⒻfⓤuⓤ⒰cⓒ⒦1]
-
开启忽略重复词,敏感词典不包含重复词
代码示例:
public static void main(String[] args) {
SensitiveWordBs sensitiveWordBsTest = SensitiveWordBs.newInstance()
//设置敏感词词典
.wordDeny(() -> Arrays.asList("fuck1", "@", "f°a°c°e°b°o°o°k", "嘻哈"))
// 忽略大小写
.ignoreCase(true)
// 忽略半角圆角
.ignoreWidth(true)
// 忽略重复词
.ignoreRepeat(true)
// 忽略数字的写法
.ignoreNumStyle(true)
// 忽略中文的书写格式
.ignoreChineseStyle(true)
// 忽略英文的书写格式
.ignoreEnglishStyle(true)
.init();
String data = "fuck1@@@@f°a°c°e°b°o°o°k";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "fuck1";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "@@@@ 123456";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "ʜᴇʟʟᴏ ᴡᴏʀʟᴅ嘻嘻哈哈哈或或或哈";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "卡其色下经典鸡尾酒嘻嘻哈哈好多好多快递就睡觉";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "ⒻⒻⒻfⓤuⓤ⒰cⓒ⒦1 the bad words";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
}
输出:
----------[fuck1, @, @, @, @, F°a°c°e°b°o°o°k]
----------[fuck1]
----------[@, @, @, @]
----------[嘻嘻哈]
----------[嘻嘻哈]
----------[ⒻⒻⒻfⓤuⓤ⒰cⓒ⒦1]
-
关闭忽略重复词,敏感词包含重复词
代码示例:
public static void main(String[] args) {
SensitiveWordBs sensitiveWordBsTest = SensitiveWordBs.newInstance()
//设置敏感词词典
.wordDeny(() -> Arrays.asList("fuck1", "@@@@", "f°a°c°e°b°o°o°k", "嘻嘻哈哈"))
// 忽略大小写
.ignoreCase(true)
// 忽略半角圆角
.ignoreWidth(true)
// 忽略重复词
// .ignoreRepeat(true)
// 忽略数字的写法
.ignoreNumStyle(true)
// 忽略中文的书写格式
.ignoreChineseStyle(true)
// 忽略英文的书写格式
.ignoreEnglishStyle(true)
.init();
String data = "fuck1@@@@f°a°c°e°b°o°o°k";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "fuck1";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "@@@@ 123456";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "ʜᴇʟʟᴏ ᴡᴏʀʟᴅ嘻嘻哈哈哈或或或哈";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "卡其色下经典鸡尾酒嘻嘻哈哈好多好多快递就睡觉";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "ⒻⒻⒻfⓤuⓤ⒰cⓒ⒦1 the bad words";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "Ⓕf⒰ⓒ⒦1 the bad words"; // 这是比前面示例多出来的一个样本,用来检查忽略书写格式功能是否正常,用以与重复词版本对照
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
}
输出:
----------[fuck1, @@@@, F°a°c°e°b°o°o°k]
----------[fuck1]
----------[@@@@]
----------[嘻嘻哈哈]
----------[嘻嘻哈哈]
----------[]
----------[f⒰ⓒ⒦1] // 这是比前面示例多出来的一个样本,用来检查忽略书写格式功能是否正常,用以与重复词版本对照
使用的版本:0.29.3
以下是几个case:
示例代码:
public static void main(String[] args) {
SensitiveWordBs sensitiveWordBsTest = SensitiveWordBs.newInstance()
//设置敏感词词典
.wordDeny(() -> Arrays.asList("fuck1", "@@@@", "f°a°c°e°b°o°o°k", "嘻嘻哈哈")) // 嘻嘻哈哈 与 嘻嘻哈或 嘻哈哈 的输出效果相同,任何一个字符重叠都不行
// 忽略大小写
.ignoreCase(true)
// 忽略半角圆角
.ignoreWidth(true)
// 忽略重复词
.ignoreRepeat(true)
// 忽略数字的写法
.ignoreNumStyle(true)
// 忽略中文的书写格式
.ignoreChineseStyle(true)
// 忽略英文的书写格式
.ignoreEnglishStyle(true)
.init();
String data = "fuck1@@@@f°a°c°e°b°o°o°k";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "fuck1";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "@@@@ 123456";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "ʜᴇʟʟᴏ ᴡᴏʀʟᴅ嘻嘻哈哈哈或或或哈";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "卡其色下经典鸡尾酒嘻嘻哈哈好多好多快递就睡觉";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "ⒻⒻⒻfⓤuⓤ⒰cⓒ⒦1 the bad words";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
}
输出:
----------[fuck1, F°a°c°e°b°o°o°k]
----------[fuck1]
----------[]
----------[]
----------[]
----------[ⒻⒻⒻfⓤuⓤ⒰cⓒ⒦1]
开启忽略重复词,敏感词典不包含重复词
代码示例:
public static void main(String[] args) {
SensitiveWordBs sensitiveWordBsTest = SensitiveWordBs.newInstance()
//设置敏感词词典
.wordDeny(() -> Arrays.asList("fuck1", "@", "f°a°c°e°b°o°o°k", "嘻哈"))
// 忽略大小写
.ignoreCase(true)
// 忽略半角圆角
.ignoreWidth(true)
// 忽略重复词
.ignoreRepeat(true)
// 忽略数字的写法
.ignoreNumStyle(true)
// 忽略中文的书写格式
.ignoreChineseStyle(true)
// 忽略英文的书写格式
.ignoreEnglishStyle(true)
.init();
String data = "fuck1@@@@f°a°c°e°b°o°o°k";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "fuck1";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "@@@@ 123456";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "ʜᴇʟʟᴏ ᴡᴏʀʟᴅ嘻嘻哈哈哈或或或哈";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "卡其色下经典鸡尾酒嘻嘻哈哈好多好多快递就睡觉";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "ⒻⒻⒻfⓤuⓤ⒰cⓒ⒦1 the bad words";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
}
输出:
----------[fuck1, @, @, @, @, F°a°c°e°b°o°o°k]
----------[fuck1]
----------[@, @, @, @]
----------[嘻嘻哈]
----------[嘻嘻哈]
----------[ⒻⒻⒻfⓤuⓤ⒰cⓒ⒦1]
关闭忽略重复词,敏感词包含重复词
代码示例:
public static void main(String[] args) {
SensitiveWordBs sensitiveWordBsTest = SensitiveWordBs.newInstance()
//设置敏感词词典
.wordDeny(() -> Arrays.asList("fuck1", "@@@@", "f°a°c°e°b°o°o°k", "嘻嘻哈哈"))
// 忽略大小写
.ignoreCase(true)
// 忽略半角圆角
.ignoreWidth(true)
// 忽略重复词
// .ignoreRepeat(true)
// 忽略数字的写法
.ignoreNumStyle(true)
// 忽略中文的书写格式
.ignoreChineseStyle(true)
// 忽略英文的书写格式
.ignoreEnglishStyle(true)
.init();
String data = "fuck1@@@@f°a°c°e°b°o°o°k";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "fuck1";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "@@@@ 123456";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "ʜᴇʟʟᴏ ᴡᴏʀʟᴅ嘻嘻哈哈哈或或或哈";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "卡其色下经典鸡尾酒嘻嘻哈哈好多好多快递就睡觉";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "ⒻⒻⒻfⓤuⓤ⒰cⓒ⒦1 the bad words";
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
data = "Ⓕf⒰ⓒ⒦1 the bad words"; // 这是比前面示例多出来的一个样本,用来检查忽略书写格式功能是否正常,用以与重复词版本对照
System.out.println("----------" + sensitiveWordBsTest.findAll(data));
}
输出:
----------[fuck1, @@@@, F°a°c°e°b°o°o°k]
----------[fuck1]
----------[@@@@]
----------[嘻嘻哈哈]
----------[嘻嘻哈哈]
----------[]
----------[f⒰ⓒ⒦1] // 这是比前面示例多出来的一个样本,用来检查忽略书写格式功能是否正常,用以与重复词版本对照