當前與我的程序,如果用戶輸入「貓」,那麼chatbot會吐出「告訴我更多關於你的寵物」。如預期。然而,如果字母貓是另一個詞的一部分,這也是如此。所以一個像catch這樣的詞會被捕獲,並且chatbot會返回「告訴我更多關於你的寵物的信息。」我還會怎樣去改進關鍵字檢測?檢測JAVA的整個單詞
if(statement.indexOf(「cat」)> = 0){ response =「告訴我更多關於你的寵物的信息。」;
當前與我的程序,如果用戶輸入「貓」,那麼chatbot會吐出「告訴我更多關於你的寵物」。如預期。然而,如果字母貓是另一個詞的一部分,這也是如此。所以一個像catch這樣的詞會被捕獲,並且chatbot會返回「告訴我更多關於你的寵物的信息。」我還會怎樣去改進關鍵字檢測?檢測JAVA的整個單詞
if(statement.indexOf(「cat」)> = 0){ response =「告訴我更多關於你的寵物的信息。」;
一對夫婦的改善關鍵字檢測:
您可以使用正則表達式:
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
,確保只有完整的單詞匹配。
'if(statement.equals(「cat」))'? – assylias 2014-10-17 15:03:12
caterina - >告訴我更多關於你的寵物的信息 – 2014-10-17 15:09:40
聲明不能超過一個單詞嗎? – CoqPwner 2014-10-17 15:18:49