我们可以检查字符串是否包含在另一个不区分大小写的字符串中吗?

Can we check if string contains in another string with case insensitive?

我想检查字符串是否包含在另一个字符串中,但不区分大小写。

例如 - "Kabir" 包含在 "Dr.kabir's house." 中。现在 "Kabir" 大写 K 应该在 "Dr.kabir's house." 中找到这句话中有或没有空格。

我尝试使用包含。但是 contains() 是区分大小写的,我也试过使用 equalsIgnoreCase() 但它没有用。

       for (int i = 0; i < itemsList.size(); i++) {
        if (matching.contains(itemsList.get(i))) {
            item = itemsList.get(i).trim();
            break;
        }
    }

也尝试过将字符串设为大写,但它会检查所有字母是否为大写。我想检查是否只有首字母大写。

   for (int i = 0; i < itemsList.size(); i++) {
        if (matching.contains(itemsList.get(i))) {
            item = itemsList.get(i).trim();
            break;
        }
    }

有人可以帮忙吗?谢谢..

编辑:如果我想从字符串中拆分 "kabir" 怎么办?

在使用 .contains() 方法之前,先将两个字符串都转换为小写或大写。

例如:

if (str1.toLowerCase().contains(str2.toLowerCase()))
    //do whatever

将两个字符串设为小写(或大写)

String one = "test";
String two = "TESTY";

if (two.toLowerCase ().contains (one.toLowerCase ())) {
    System.out.println ("Yep");
}
else {
    System.out.println ("Nope");
}

只需将两个字符串小写,然后使用 contains():

for (int i = 0; i < itemsList.size(); i++) {
    if (matching.toLowerCase().contains(itemsList.get(i).toLowerCase())) {
        item = itemsList.get(i).trim();
        break;
    }
}