我使用的是Java,而且我创建的淫秽过滤器运行良好,除非我们有一封以结尾的字母代替。
例如。 “我想要一根香蕉” - >“我想要一只香蕉”
然而...
如果您在'a'之后添加标点符号,它会正确显示。
例如。 “你想要一根香蕉吗?” - >“你想要一根香蕉吗?”
这是我所做的:
public String rInString(String theDisplay) {
String a = theDisplay;
String b = word;
String c = Matcher.quoteReplacement(replacement);
if(matchWholeWord != null && matchWholeWord){
b = "([^\\p{Alpha}\\p{Lower}\\p{Space}])" + b +
"([^\\p{Alpha}\\p{Lower}\\p{Space}])";
a = " " + a + " ";
c = "$1" + c + "$2";
}
return message.replaceAll("(?i:" + b + " )", c).trim();
}
public String rInString(String theDisplay, String theB, String replace) {
String c = Matcher.quoteReplacement(replace);
String a = theDisplay;
String b = theB;
if (matchWholeWord != null && matchWholeWord) {
b = "([^\\p{Alpha}\\p{Space}])" + b + "([^\\p{Alpha}\\p{Space}])";
a = " " + a + " ";
c = "$1" + c + "$2";
}
return message.replaceAll("(?i:" + b + ")", c).trim();
}