检测JAVA的全字

时间:2014-10-17 15:02:13

标签: java

目前,在我的程序中,如果用户输入“cat”,则聊天机器人会吐出“告诉我有关您的宠物的更多信息”。正如所料。但是,如果字母cat是另一个单词的一部分,则也是如此。因此,像catch一样的单词会被捕获,聊天机器人将返回“告诉我有关您的宠物的更多信息”。我还有什么办法来改进关键词检测呢?

if(statement.indexOf(“cat”)> = 0){      response =“告诉我有关你的宠物的更多信息。”

2 个答案:

答案 0 :(得分:3)

改善关键字检测的几种方法:

  • 创建要与
  • 比较的关键字列表/集合
  • 在字符串上使用split("")函数只获取单词(它返回一个可循环的String [])

答案 1 :(得分:2)

您可以使用正则表达式:

Pattern pattern = Pattern.compile("\\bcat\\b");
Matcher matcher = pattern.matcher("Hello the cat is cool");
boolean cat;
if(matcher.find()) {
  cat = true;
} else {
  cat = false;
}

在模式中使用\\b,确保只匹配完整的单词。