home changes contents help options

026:文字列を検索する

パターンが含まれているかどうか調べる
パターンが含まれているかどうかを調べたいときは、findメソッドで-1になるかで判定すればよい。indexメソッドを使った場合に、パターンがなければValueErrorになる。

パターンが最初に出現する位置を調べる
findを使います。適合しない場合は、-1を返します。indexでも同じですが、適合しない場合はValueErrorになる点が違います。検索する範囲も指定できます。
パターンが最後に出現する位置を調べる
rfindを使います。適合しない場合は、-1を返します。indexでも同じですが、適合しない場合はValueErrorになる点が違います。検索する範囲も指定できます。

 >>> a='banana'
 >>> a.find('na')
 2
 >>> a.find('na',1)
 2
 >>> a.find('na',2)
 2
 >>> a.find('na',3)
 4
 >>> a.rfind('na')
 4
 >>> a.find('naa')
 -1
 >>> a.index('na')
 2
 >>> a.index('naa')
 Traceback (most recent call last):
   File "<stdin>", line 1, in ?
 ValueError: substring not found