現在、ユーザー入力に応答する基本的な AI を開発しています。
次のコード行があります。
if (value.contains("hi")){
test.setText("Hello.");
speakOut();}
}
しかし、この行は、「hi」を含む this などの「hi」ではない単語で非常に簡単にトリガーされます。
特定の文字ではなく正確な単語を検索するには、どのコードを使用できますか?
現在、ユーザー入力に応答する基本的な AI を開発しています。
次のコード行があります。
if (value.contains("hi")){
test.setText("Hello.");
speakOut();}
}
しかし、この行は、「hi」を含む this などの「hi」ではない単語で非常に簡単にトリガーされます。
特定の文字ではなく正確な単語を検索するには、どのコードを使用できますか?
次に、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;
}
}
コメントが述べたように、「Hi, blablabla」のような文があるかもしれませんが、これはうまくいきません。しかし、これで、単語だけをキャッチする優れた正規表現を見つけることができるという考えが得られました。