目前我正在开发一个响应用户输入的基本AI。
我有这行代码:
if (value.contains("hi")){
test.setText("Hello.");
speakOut();}
}
但这句话非常容易用不是“hi”的单词触发,比如这个,也包含“hi”。
我可以使用哪些代码搜索确切的字词而非某些字符?
答案 0 :(得分:0)
然后使用equals
方法:
"hi".equals(value)
如果你的单词是hi,你可以将它拆开:
String s = "Hi I'm this";
String [] words = s.split("\\s+"); //split by whitespaces
loop: for(String word : words){
if("hi".equals(word.toLowerCase())){
System.out.println("hello");
break loop;
}
}
与所述评论一样,您可能会有一句话,例如“Hi,blablabla”,这不会奏效。但是现在你已经有了这个想法,你将能够找到一个只能抓住单词的好的正则表达式。