Java 如何仅获取单词(字符串)?
我正在创建一个聊天应用程序,它会过滤一些不好的词,例如ass。因此,如果使用“yourface look like ass”,结果将是“yourface look like”。代码是Java 如何仅获取单词(字符串)?,java,string,Java,String,我正在创建一个聊天应用程序,它会过滤一些不好的词,例如ass。因此,如果使用“yourface look like ass”,结果将是“yourface look like”。代码是 String msg = e.getMessages(); if(msg.contains("ass")) { String aaa = msg.replace("ass", ""); //my code here to show msg } 所以,如果用户键入一个包含ass的单词,例如glas
String msg = e.getMessages();
if(msg.contains("ass"))
{
String aaa = msg.replace("ass", "");
//my code here to show msg
}
所以,如果用户键入一个包含ass的单词,例如glass,我的代码将删除ass并成为gl only。因此,我想知道如何逐字检测并删除列表中的坏单词?如果您只想替换整个单词,可以使用正则表达式而不是普通字符串,以及单词边界(
\\b
)如下所示:
String aaa = msg.replaceAll("\\bass\\b", "");
您可以在中阅读有关单词边界的更多信息。您可以使用正则表达式,它非常强大。例如,如果您只想将“ass”作为一个单词,您可以使用
“/^ass$/”
,这样您就可以编写它:
String aaa = msg.replaceAll("/^ass$/", "");
用一无所有的东西代替别人的屁股是不人道的。--回答这个问题。我希望这只是一个练习,因为有很多方法可以绕过过滤器。我有一个解决方案,但它只适用于vaccum@Jeremy:“-”-回答问题“FWIW,那是粗鲁的表现。这是一种正常的表达方式,很有效!!!谢谢我希望现在我的聊天室里不会有人说蠢话
String aaa = msg.replaceAll("/^ass$/", "");