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

Java 我们可以检查字符串是否包含在另一个不区分大小写的字符串中吗?,java,string,compare,contains,case-insensitive,Java,String,Compare,Contains,Case Insensitive,我想检查字符串是否包含在另一个字符串中,但不区分大小写 例如,卡比尔在卡比尔博士的房子里。。现在,大写为K的卡比尔应该在卡比尔博士的家中找到。在这个句子中有或没有空格 我试着用它。但是contains是区分大小写的,我也尝试过使用equalsIgnoreCase,但它没有用 for (int i = 0; i < itemsList.size(); i++) { if (matching.contains(itemsList.get(i))) {

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

例如,卡比尔在卡比尔博士的房子里。。现在,大写为K的卡比尔应该在卡比尔博士的家中找到。在这个句子中有或没有空格

我试着用它。但是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方法之前,只需先将两个字符串转换为小写或大写即可

例如:


使两个字符串都小写或大写

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

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

仅将两个字符串小写,然后使用contains:


我想我已经试过了。但这会检查所有小写字母或大写字母。但是,如果一个单词是大写的,而其他单词则像Kabir一样小,那该怎么办?@Sid我的解决方案和其他答案一样,将两个字符串都转换为小写,这样大小写就不再重要了,只有字母。这有意义吗?另外,字符串是不可变的。因此,它不会更改匹配字符串,除非您将小写值指定给它。如何从字符串中拆分kabir@TimBiegeleisen@Sid您可以尝试使用StringindexOf和Stringsubstring的组合来隔离子字符串kabir周围的字符串。但这会检查所有小写字母或大写字母。但是,如果一个单词是大写的,而其他单词像卡比尔一样小呢?这使得两个单词都是小写的。我已经试过了。但这会检查所有小写字母或大写字母。但是,如果一个单词是大写的,而其他单词像Kabir一样小,该怎么办?@Sid它仍然可以工作,因为您在执行匹配之前转换了两个字符串。因此,在检查之前,两个字符串都不会包含任何大写字母。
String one = "test";
String two = "TESTY";

if (two.toLowerCase ().contains (one.toLowerCase ())) {
    System.out.println ("Yep");
}
else {
    System.out.println ("Nope");
}
for (int i = 0; i < itemsList.size(); i++) {
    if (matching.toLowerCase().contains(itemsList.get(i).toLowerCase())) {
        item = itemsList.get(i).trim();
        break;
    }
}