こんにちは!
皆さんは、文字列の検索方法を知っていますか?
find()やin演算子を使えば簡単に文字列を検索することができます。
今回の記事では、文字列の検索方法として以下の内容について紹介します。
- find()
- rfind()
- in演算子
文字列の検索方法
find()を使用した文字列の検索
「find()」を使用すると、検索したい文字が文字列の中のどこに含まれているかを調べることができます。
文字が見つかった場合には、最初に文字が見つかったところのインデックス番号を返します。
見つからなかった場合には、「-1」を返します。
以下のプログラムは、find()を用いた文字列を検索するプログラムです。
str = "Python初心者の備忘録"
print(str.find("初心者"))
print(str.find("ビギナー"))
実行結果
6
-1
例)
str = "PythonPythonPython"
print(str.find("Python"))
実行結果
0
そのため、検索したい範囲を指定して検索することができます。
範囲を指定して検索
find()では、文字列の範囲を指定して検索することができます。
スライスなどと同様に、終了位置は範囲に含まれないので注意しましょう。
以下のプログラムは、find()で範囲を指定して文字列を検索するプログラムです。
str = "PythonPythonPython"
print(str.find("Python", 2, 12))
print(str.find("Python", 2, 11))
実行結果
6
-1
rfind()を使用した文字列の検索
find()では、検索したい文字を先頭から探していました。
「rfind()」では、検索したい文字を末尾から探します。
以下のプログラムは、rfind()を用いた文字列を検索するプログラムです。
str = "PythonPythonPython"
print(str.find("Python"))
print(str.rfind("Python"))
実行結果
0
12
rfind()でも、find()と同様に範囲を指定して検索することもできます。
in演算子を使用した文字の検索方法
「in演算子」を使用すると、文字列の中に調べたい文字が存在するかどうかを調べることができます。
存在すればTrueを、存在しなければFalseを返します。
以下のプログラムは、in演算子を用いて文字が存在するかを判定するプログラムです。
str = "Python初心者の備忘録"
print("初心者" in str)
print("ビギナー" in str)
実行結果
True
False
in演算子では、検索したい文字が存在する個数まではわかりません。
個数を数える
検索したい文字の個数を数えたい時には、「count()」を使います。
以下のプログラムは、検索したい文字列の個数を数えるプログラムです。
str = "PythonPythonPython"
print(str.count("Python"))
実行結果
3
まとめ
今回の記事では、以下の内容を紹介しました。
- find()
→先頭から検索 - rfind()
→末尾から検索 - in演算子
→存在するかどうか判定
個数を数えるときは「count()」
文字列の検索方法をしっかりと覚えておきましょう!