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

时间:2016-12-13 04:55:35

标签: java string compare contains case-insensitive

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

例如,"卡比尔"包含在#k; Dr.kabir的房子里。"。现在"卡比尔"资本K应该在Dr.habir的家里找到。"在这句话中有或没有空格。

我尝试使用contains。但是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;
        }
    }

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

编辑:如果我想拆分&#34; kabir&#34;从字符串怎么做?

3 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:3)

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

例如:

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

答案 2 :(得分:2)

使两个字符串更低(或更高)大小写

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

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