1

我正在尝试编写一个响应文本的基本 AI。

但是,在这段代码中;

    public void registermessage(View view) {
if (edittext.getText().toString().contains("hello")){

    test.setText("Hello, sir.");

} else{
    test.setText("It would be better off to say hello first, sir.");
}

每当我写 Hello 时,它都不会注册为 hello。我想禁用该编辑文本中大写字母的任何过滤器。我怎么做?

谢谢!

4

3 回答 3

3

您可以将 java.util.regex.Pattern 与 CASE_INSENSITIVE 一起使用:-

Pattern.compile(Pattern.quote(your_text), Pattern.CASE_INSENSITIVE).matcher("hello").find();

或者你可以使用这个: -

org.apache.commons.lang3.StringUtils.containsIgnoreCase(your_text, "hello");
于 2013-06-11T12:08:34.167 回答
1

改用这个:

public void registermessage(View view) {
if (edittext.getText().toString().toLowerCase().contains("hello")){

    test.setText("Hello, sir.");

} else{
    test.setText("It would be better off to say hello first, sir.");
}
于 2013-06-11T12:03:51.630 回答
1
String tmp = edittext.getText().toString();
tmp = tmp.toUpperCase();

if (tmp.contains("HELLO")) {}
于 2013-06-11T12:01:03.063 回答