2016-12-13 40 views
0

我想檢查字符串是否包含另一個字符串,但不區分大小寫。我們可以檢查字符串是否包含另一個不區分大小寫的字符串?

例如 - 「Kabir」包含在「Dr.kabir的房子」中。現在「Kabir」與大寫K應該在「Dr.kabir的房子」中找到。在這句話中有或沒有空格。

我試着用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; 
     } 
    } 

任何人都可以幫忙嗎?謝謝..

編輯:如果我想從字符串拆分「卡比爾」如何做到這一點?

+1

重複的這我認爲,http://stackoverflow.com/questions/14972299/how-to- use-contains-and-equalsignore-in-string – msagala25

回答

4

僅有小寫兩個串,然後使用:

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

我試過這個。但是這會檢查所有的小寫字母或大寫字母。但如果一個詞是大寫的而另一個詞像「Kabir」那麼小? – Sid

+1

@Sid我的解決方案,以及其他答案,將_both_字符串轉換爲小寫字母,所以案件不再重要,只有字母。這有意義嗎?作爲附加, –

+0

,字符串是不可變的。所以它不會改變'匹配'字符串,除非你給它分配了小寫值。 – msagala25

3

在使用.contains()方法之前,只需將兩個字符串先轉換爲大寫或小寫。

例如:

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

我試過這個。但是這會檢查所有的小寫字母或大寫字母。但如果一個詞是大寫的而另一個詞像「Kabir」那麼小? – Sid

+0

@Sid它將繼續工作,因爲您在執行匹配之前轉換兩個字符串。所以在檢查之前,任何字符串都不會包含任何大寫字母。 – user3437460

2

使兩個字符串下(或上)的情況下

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

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

我試過這個。但是這會檢查所有的小寫字母或大寫字母。但如果一個詞是大寫的而另一個詞像「Kabir」那麼小? – Sid

+0

這是使兩個字都小寫 –

相關問題