• ベストアンサー

文字列の検索

教えてください。 例えば、「今日は、良い天気です。」と言う文字列が あったとします。 その文字列のなかに、「天気」と言う言葉が含まれて いるかどうかのチェックをしたいのですが、どのように すれば、よいでしょうか? がんばって考えてみたのですが、Stringクラスの indexOf(\"天気\")のようにして、マイナス(-1)が 返ってくれば、天気と言う文字が含まれていると 言うやり方でいいのでしょうか? あってるのかどうか、わからなくて困ってます。 他のやり方でされてる方がいらっしゃれば、ご教示 ください。お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#6248
noname#6248
回答No.1

// これで特に問題ないと思いますが… public class test{  public static void main(String[] args){   String str="今日は、良い天気です。";   if(str.indexOf("天気") != 0){    System.out.println("天気と言う文字を見つけたよ");   }  } }

参考URL:
http://java.sun.com/products/jdk/1.2/ja/docs/ja/api/
HELPMAN
質問者

補足

ありがとうございます。 参考URLで確認しました。 さらに質問となってしまいますが、 検索したい文字列が無い場合は、「-1」が返ってくる みたいなので、 if(str.indexOf("天気")!= -1){ System.out.println("天気と言う文字を見つけたよ"); } で、よいでしょうか?

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • yuji
  • ベストアンサー率37% (64/169)
回答No.3

では、他のやり方で... 単純な文字列検索だけならよいのですが、 複雑な場合には、jakarta-oro-2.0.x.jarのライブラリを 使っています。 Perlと同じような感覚で使えるので便利です。 ただし、遅いかもしれません。 複雑なパターンがない場合には不要でしょう。

参考URL:
http://jakarta.apache.org/oro/index.html
HELPMAN
質問者

お礼

ありがとうございます。 そんなライブラリがあるのは、始めて知りました。 勉強になりました。

すると、全ての回答が全文表示されます。
noname#30871
noname#30871
回答No.2

>if(str.indexOf("天気")!= -1){ >System.out.println("天気と言う文字を見つけたよ"); >} >で、よいでしょうか?  そのとおりです。  このような場合、あれこれ悩むよりもAPIドキュメントを確認しましょう。参考URLからダウンロードできます。

参考URL:
http://java.sun.com/j2se/1.3/ja/docs.html
HELPMAN
質問者

お礼

ありがとうございます。 勉強になりました。

すると、全ての回答が全文表示されます。

関連するQ&A