拙著『Excel VBAユーザーのためのPythonプログラミング入門』の、「第7章 文字列を操作しよう」では、Pythonで文字列を表すstr型の操作を解説しています。
『Excel VBAユーザーのためのPythonプログラミング入門』p.115より
Pythonのstr型はVBAのString型よりも便利で、どれを紹介し、どれを紹介しないかを決めるのに苦労しました。
最終的に拙著では紹介しなかったstr型のメソッドの中で、特に迷ったのが、何らかの文字列の中に指定した文字がいくつあるかをカウントするメソッドです。
VBAで同様の処理を行うには、ループを回したり、関数を組み合わせたりする必要がありますが、Pythonの場合、str.countメソッドで簡単にカウントができます。
str.countで特定の文字をカウント
以下のコードを実行すると、文字列「Hello, World!」内の「o」(小文字のオー)の個数「2」が出力されます。
print(txt.count('o'))
strオブジェクトに用意されているcountメソッドを使うと、上記のようにとても簡単なコードで文字のカウントができます。
以下のコードを実行した場合には、「Hello, World!」内の「l」(小文字のエル)の個数「3」が出力されます。
print(txt.count('l'))
存在しない文字の場合は「0」が返されます。
print(txt.count('h'))
「Hello, World!」内に、大文字の「H」はありますが小文字の「h」はないため、上記のコードを実行すると「0」が出力されます。
文字列をカウント
Pythonの場合、文字も文字列ですから、str.countでカウントで文字列もカウントできます。
print('Hello, World!'.count('ll'))
なら「Hello, World!」から、小文字のエルが2個連続した「ll」を探して「1」が出力されます。
「World」を「Worlld」とタイプミスした以下のコードなら
print('Hello, Worlld!'.count('ll'))
「2」が出力されます。
最終更新日時:2023-12-06 17:26
Home » 『Excel VBAユーザーのためのPythonプログラミング入門』 » Pythonで特定文字の個数をカウントする-str.countメソッド