Pythonで文字列中に出現する部分文字列の登場回数をカウントする方法について解説します。
部分文字列の登場回数をカウントする ~count~
Pythonで対象としている文字列に登場する部分文字列の登場回数をカウントするには、strクラスのcountメソッドを使用します。
countメソッドを用いた部分文字列のカウントは以下のように行います。
sample_text = 'PythonPythonPythonプロジェクトPythonプロジェクトPython' # countで部分文字列をカウントする print(sample_text.count('Python')) # countは重複のない出現回数をカウントするので注意 print(sample_text.count('PythonPython'))
【実行結果】 5 1
この例では、まず文字列に'Python'という部分文字列が何回出現するかを確認しています。結果5ということで部分文字列の出現回数を調べることができています。
countメソッドで少し注意する点としては、countメソッドは重複のない出現回数をカウントするという点です。
二つ目の検索例で'PythonPython'という部分文字列を検索していますが、結果は1となっています。この場合は以下の画像に示したように、最初の文字列がヒットした後は、次の検索開始位置はヒットした部分文字列の次の位置になります。

上記例では、最初の'PythonPythonPython'の中に、'PythonPython'という部分文字列が2つあるように考えることもできますが、countメソッドは重複のないカウントをとるので注意しましょう。
以上が、文字列の中の部分文字列の出現回数をカウント方法です。
ソースコード
上記で紹介しているソースコードについてはgithubにて公開しています。参考にしていただければと思います。