2013-06-12 49 views
0

目前我正在開發一個對用戶輸入做出響應的基本AI。如何製作textview.Contain搜索詞?

我有這行代碼:

if (value.contains("hi")){ test.setText("Hello."); speakOut();} }

,但此行是很容易與不是「喜」,像這樣的,其中還包含「喜」字引發的。

我可以使用什麼代碼來搜索確切的單詞而不是某些字符?

+0

爲什麼不使用'equals()'? – nhaarman

回答

0

然後使用equals方法:

"hi".equals(value) 

如果你有一個句字喜,你可以只把它分解:

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; 
     } 
     } 

如同陳述的意見,你可能有一個句子像「嗨,blablabla」,這將無法正常工作。但是,現在你有了這個想法,你將能夠找到一個很好的正則表達式,只會捕獲單詞。

+0

等於不起作用,因爲用戶也可能鍵入「嗨,我的名字是blablabla」和等於不會回答這個。 –

+0

然後做'value.startsWith(「hi」);'。 – Voicu

+0

@Voicu如果你在句子中有「hibernate」這個詞?它會失敗。 –