0

目前我正在开发一个响应用户输入的基本人工智能。

我有这行代码:

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

但是这条线很容易被非“hi”的词触发,比如this,它也包含“hi”。

我可以使用什么代码来搜索确切的单词而不是某些字符?

4

1 回答 1

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

就像评论所说的那样,你可能有一个像“嗨,blablabla”这样的句子,这不起作用。但是现在您有了这个想法,您将能够找到一个只能捕捉单词的好正则表达式。

于 2013-06-12T18:05:27.170 回答