Pythonで文字列検索

この記事の内容
  • Pythonで文字列検索を扱う方法

この記事の対象者
  • Pythonエンジニア
  • Pythonの学習者

この記事の構成
  1. in演算子
  2. str.find()
  3. str.rfind()
  4. str.count()

はじめに

Pythonを使って開発をしていると文字列の値を検索することがあります。

文字列の検索して特定の文字列がある場合とない場合で条件分岐し、処理を分けるというのは少なくないと思います。

そこで今回は、Pythonの便利な文字列検索出来るメソッドについてについて紹介していきたいと思います。

in演算子

文字列に特定の文字を含むかどうかを True か False で返します。

mail_address = 'sample@sample.com'
print('@' in mail_address)
#出力結果
True

str.find()

文字列内の特定の文字の位置を返します。
同じ文字があった場合最初の位置を返します。

text = 'hello'
print(text.find('l'))
#出力結果
2

str.rfind()

文字列内の特定の文字の位置を返します。
後ろから検索します。
同じ文字があった場合最初の位置を返します。

text = 'hello'
print(text.rfind('l'))
#出力結果
3

str.count()

文字列の中に特定の文字がいくつ含まれるのかが返り値です。
ない場合は0が返ってきます。
また、1番目から6番目のように範囲を指定することもできます。
先頭から数える場合は0番目から始まります。
後ろから数える場合は-1番目が一番後ろです。

print('隣の客はよく柿食う客だ'.count('客'))

# 3番目から6番目
print('隣の客はよく柿食う客だ'.count('客', 2, 7))

# 後ろから1番目から6番目
print('隣の客はよく柿食う客だ'.count('客', -6, -1))
#出力結果
2
1
1

終わりに

Pythonで文字列検索を紹介しました。
使いどころが多く便利なので使って見ましょう!