[解決!Python]文字列のcountメソッドで特定の部分文字列が含まれている数を数えるには解決!Python

文字列のcountメソッドを使って、ある文字列の中に特定の文字列(部分文字列)が何個含まれているかを調べる方法を紹介する。

» 2023年09月12日 05時00分 公開
[かわさきしんじDeep Insider編集部]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「解決!Python」のインデックス

連載目次

# 文字列の場合
s = 'Deep Insider'

c = s.count('e')
print(c)  # 3

c = s.count('E'# 大文字小文字は区別される
print(c)  # 0

c = s.count('e', 5# どこからカウントを始めるか
print(c)  # 1

c = s.count('e', 5, -2# どこからカウントを始めて、どこまでを対象とするか
print(c)  # 0

c = s.count('e', end=-2# TypeError:開始位置/終了位置は位置専用
c = s.count('e', 0, -2# 終了位置だけを指定したいときは開始位置として0を指定する

c = s.count(''# 空文字列を渡すと戻り値は文字列長+1になる
print(c)  # 13
print(len(s))  # 12

c = 'Deeeep Insider'.count('ee'# 重複部分がないようにカウントする
print(c)  # 2


文字列のcountメソッド

 文字列のcountメソッドを使うと、文字列内に特定の部分文字列がどれだけ含まれているかをカウントできる。

str.count(sub[, start[, end]])


 文字列のcountメソッドではどこからどこまでの範囲で部分文字列のカウントを行うためにstart/endも指定できる。

 以下にシンプルな例を示す。

s = 'deep insider'

c = s.count('e')
print(c)  # 3


 この例では'Deep Insider'という文字列に部分文字列'e'が何個含まれているかをカウントしている。答えは見ての通りに3となる。

 このときには大文字と小文字は区別される。そのため、以下のように'E'の数をカウントするとその答えは0になる。

c = s.count('E'# 大文字小文字は区別される
print(c)  # 0


Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。