【毎日Python】Pythonで特定の文字列が最後に出現する位置を確認する方法|str.rfind/rindex

str = 'good cookie, good book'
str.rfind('good')

Pythonで文字列が最後に現れる位置を確認する方法です。
Pythonの標準ライブラリのrfindメソッドを使用します。
文字列を変数に格納します。
goodの位置を確認してみましょう。
rfindメソッドの引数に確認したい文字列を渡します。
実行します。
13が返ってきました。これは先頭の0から数えて13番めに現れるgoodが最後ということを意味します。

str = 'good cookie, good book'
str. rfind('oo', 3, 16)

確認する範囲を指定したい場合は、第1引数に確認したい文字列、第2引数と第3引数で範囲を指定します。
3から16の間でooが最後に出現する位置を確認してみましょう。
3から16の範囲でooが最後に現れる14が返されました。

str.rfind('aa')

なお、文字列に含まれない文字を引数に渡すと-1が返ってきます。

# str = 'good cookie, good boot, good book'
str.rindex('good')

似たメソッドにrindexがあります。
このメソッドも、指定した文字列が最後に現れる位置を返します。
使い方はrfindメソッドと同様で、引数に確認したい文字列を指定します。
実行します。
先ほどと同じようにgoodが最後に現れる13が返ってきました。

str.rindex('aa')

rfindメソッドと違って、文字列に含まれない文字を指定すると、エラーが返ってきます。

関連メソッド

【毎日Python】Pythonで特定の文字列が出現する位置を確認する方法|str.index

【毎日Python】Pythonで特定の文字列が含まれているか確認する方法|str.find