Python逆引き:文字列が何個含まれているか知りたい

備忘録ヘッダ画像 逆引きソースコード

指定の文字列が別の文字列にいくつ含まれているかを知りたい場合のコード例。count関数を使う例と正規表現の例を記載しておく。

count()メソッド

このメソッドは、指定したサブ文字列が文字列内でいくつ現れるかを数えて返してくれる。

コード
main_string = "abracadabra"
substring = "a"

count = main_string.count(substring)

print(f"'{substring}' は '{main_string}' に {count} 回含まれています。")

この例では、"abracadabra"という文字列に"a"がいくつ含まれているかを数えている。
countの結果は 5 となる。なお、このメソッドは大文字小文字を区別する。
大文字小文字を区別せずに数えたい場合は、事前にmain_stringsubstringを小文字化(または大文字化)してからcount()メソッドを使用することもできる。

正規表現をつかう場合

re.findall()を使用して正規表現で検索し、len()で結果のリストの長さを取得する。

コード
import re

main_string = "abracadabra"
substring = "a"

count = len(re.findall(substring, main_string))

print(f"'{substring}' は '{main_string}' に {count} 回含まれています。")

どちらの方法でもカウントできるが、基本はcountで件数を数えるほうが簡単だろう。

タイトルとURLをコピーしました