なんかくだらないことなんだけど、ハマって時間を取られてしまったのでメモ。

文字列の中に指定した文字列を含むかどうか判断するには、Stringクラスのmathcesメソッドを使うと良いようです。ただし、もとの文字列が正規表現でマッチするように指定しなければいけません。

たとえば、ある文字列strに test という文字列が部分として含まれるかどうかを知りたい場合には、以下のようにします。

 str.mathces(".*test.*");

これだと、たとえば

str = "this is a test.";

だとか、正規表現なので

str = "the greatest towel";

とかでもヒットします。

戻り値はboolean型なので、if文の条件判定部分などに入れればOKです。”文字列 検索”とかで調べてたので、てっきり ” 正規表現で指定した文字列を含む ” かどうかを判断してくれるのかと思っていました…

rubyのinclude?メソッドみたいな、普通に指定した文字列を含むかどうかだけを判断するメソッドはないみたいですね…

 str.include?("test") 

ぱっと調べた限りでは見つからなかったのですが、知っている方がいたらぜひ教えてください。

*以前の記事をサルベージしたのでコメントは残ってませんが、以下のようなコメントをいただいてました。

str.indexOf(“fuga”) >= 0

str.mathces(“.*fuga.*”)
は等価であるはず。

,
Trackback

only 1 comment untill now

  1. >普通に指定した文字列を含むかどうかだけを判断するメソッド
    str.contains(“test”)
    ではだめでしょうか

Add your comment now

*