2016-12-13 19 views
0

文字列に別の文字列が含まれているかどうかをチェックしたいが、大文字小文字を区別しない方法でチェックする。文字列に大文字小文字を区別しない別の文字列が含まれているかどうかを確認できますか?

たとえば、「カビール」は「ドクターカビルの家」に含まれています。今度は資本金「Kabir」は「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; 
     } 
    } 

誰でも助けてください。ありがとう..

編集:私は文字列から "カビール"を分割したい場合はどのようにそれを行うには?

+1

重複私は、http://stackoverflow.com/questions/14972299/how-to-文字列内の大文字と小文字を区別する – 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

私はこれを試しました。しかし、これはすべての小文字か大文字をチェックします。 1つの単語が大文字で、他の単語が "Kabir"のように小さい場合はどうなりますか? – Sid

+1

@Sid私の解決策と他の答えは、_both_文字列を小文字に変換するので、大文字と小文字は重要ではなく、文字だけです。これは理にかなっていますか? –

+0

を追加すると、Stringは不変です。したがって、小文字の値を代入しない限り、 'matching' Stringは変更されません。 – msagala25

3

.contains()メソッドを使用する前に、両方の文字列をまず小文字か大文字に変換してください。例えば

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

私はこれを試しました。しかし、これはすべての小文字か大文字をチェックします。 1つの単語が大文字で、他の単語が "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

私はこれを試しました。しかし、これはすべての小文字か大文字をチェックします。 1つの単語が大文字で、他の単語が "Kabir"のように小さい場合はどうなりますか? – Sid

+0

これは両方の単語を小文字にしています –

関連する問題