Я использую Java, и я создал фильтр непристойности, который работает хорошо, за исключением того, что если у нас есть буква, оканчивающаяся на, она будет заменена.
например.«Я хочу банан» -> «Я хочу банан»
ОДНАКО ... Если вы добавите пунктуацию после «а», она будет отображаться правильно.
например."Хотите банан?"-> «Хочешь банан?»
Вот что я сделал:
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();
}