2016-12-28 14 views
0

大文字小文字を無視して特定の単語が終了するかどうかを確認したい。文字列から特定の単語を見つける方法android

マイストリングは - "Hello world、Wassup?、good moRNING"です。

今、私は単語 "hello world"をチェックしたいと思います。

ので、私は次のことを試してみました:

String fullText = "Hello world , Wassup? , good moRNING"; 
String singleWord = "hello world"; 
boolean find; 

if (fullText.matches(singleWord)) { 

    find = True; 
} 

私もcontainsで試してみましたが、これは動作しません。

どのようにこの特定の単語を見つけることができますか?

+1

Googleを試してみてください:http://stackoverflow.com/questions/5091057/how-to-find-a-whole-word-in-a-string-in-java – Flummox

+1

こんにちは、こんにちはです –

+0

小文字と大文字の 'h'(@ AdityaVyas-Lakhanが指摘しているように)、contains()で動作するはずです。 'matches()'は正規表現を必要とし、(b)文字列全体が正規表現にマッチした場合、つまり前または後の文字数がそれ以上含まれていない場合にのみtrueを返すので適合しません。 –

答えて

3

あなたは一般的なケースに、両方の文字列を変換し、その後必要にマッチしてindexOfまたはそれ以外の使用をすることができますが使用する:regex.

String fullText = "Hello world , Wassup? , good moRNING"; 
String singleWord = "hello world"; 
boolean find; 



if (fullText.toLowerCase().indexOf(singleWord.toLowerCase()) > -1) { 

    find = true; 
} 
+0

(Trueで大文字の 'T'からaprat)動作します。 Java 5以降を使用している場合、 'contains()'は簡単です。 –

+0

@ OleV.V。それを指摘してくれてありがとう。私はコードを編集しました。 –

2

検索対象の文章と文字列の両方を小文字にすることができます。

if (fullText.toLowerCase().matches(singleWord.toLowerCase())) { 
    find = True; 
} 
1

問題がある場合:

H ello、それは大文字を持っているので、世界時間 ello世界が含まれていません。

使用この:

if (fullText.toLowerCase().matches(singleWord.toLowerCase())) { 
    find = True; 
} 
2
find = fullText.toUpperCase().contains(singleWord.toUpperCase()); 
1

あなたはこの試みることができる:

String string = "Test, I am Adam"; 
// Anywhere in string 
b = string.indexOf("I am") > 0;   // true if contains 

// Anywhere in string 
b = string.matches("(?i).*i am.*");  // true if contains but ignore case 

// Anywhere in string 
b = string.contains("AA") ; 
関連する問題