文字列操作

【Python】文字列操作:文字列中に含まれる文字列の個数を数える

嫁ちゃん
嫁ちゃん

文章の中に含まれる特定の文字が何個あるか数えたいんですけど?

わたし
わたし

そんなときは、

str型の count() メソッドを使うといいよー♪

はじめに

str.count() は、文字列中に含まれる特定の文字列の数を数えるメソッドです。

用法

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

[startend] の範囲に、部分文字列 sub が重複せず出現する回数を返します。オプション引数 start および end はスライス表記と同じように解釈されます。

組み込み型 – Pythonドキュメント から引用

Python
s = 'This is a pen.' print(s) print(s.find('i')) print(s.find('is')) print(s.find('pen'))
実行結果
This is a pen. 2 2 1

例.部分文字列が見つからなかった場合

Python
s = 'This is a pen.' print(s) print(s.count('xyz'))
実行結果
This is a pen. 0

例.検索範囲の開始位置を指定する場合

Python
s = 'This is a pen.' print(s) print(s.count('is'), 5)

検索範囲の開始位置のインデックスが 5 になっていますので、2つ目の ‘is’ のみカウントされます。

実行結果
This is a pen. 1 +---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | T | h | i | s | | i | s | | a | | p | e | n | . | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

例.検索範囲の開始・終了位置を指定する場合

Python
s = 'This is a pen.' print(s) print(s.count('is'), 5, 6) print(s.count('is'), 5, 7)

検索範囲の終了位置のインデックスに 7 を指定しました。0 から数えて 6番目 では、’s’ が含まれないのでカウントされません。

実行結果
This is a pen. 0 1 +---+---+---+---+---+---+---+---+---+---+---+---+---+---+ | T | h | i | s | | i | s | | a | | p | e | n | . | +---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

おわりに

嫁ちゃん
嫁ちゃん

ちゃんと数えられましたー♪

わたし
わたし

よかったねー。

この記事がお役に立てましたら幸いです。
人気ブログランキングに参加しております。
よろしければクリックしていただけると嬉しいです。
にほんブログ村 IT技術ブログ Pythonへ
※本サイトに掲載する情報には充分に注意を払っておりますが、その内容について保証するものではありません。
※本サイトの使用ならびに閲覧によって生じたいかなる損害にも責任を負いかねます。

コメント

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