1. はじめに
Pythonで文字列操作を行う際、「特定の文字が文字列の中にいくつあるかを数えたい」という場面は頻繁にあります。本記事では、Pythonで文字列の中で特定の文字をカウントする方法について、初心者にもわかりやすく解説します。
この方法を習得すれば、ログ解析・文字数制限チェック・文章分析など、実務にも応用できる技術を身につけることができます。
2. Pythonで文字列中の特定の文字をカウントする方法
2-1. count()メソッドとは?
Pythonの文字列型(str
)には、文字や部分文字列をカウントするためのcount()
メソッドが用意されています。
# 文字列中の「a」の数をカウントする
text = "apple banana avocado"
count_a = text.count("a")
print("aの数:", count_a)
実行結果:
aの数: 6
count()
メソッドは、str.count(sub[, start[, end]])
の形式で使用できます。
オプションでstart
とend
を指定すると、特定の範囲に限定してカウントも可能です。
2-2. 複数の文字を同時にカウントしたい場合
例えば「a」と「e」をそれぞれ数えたいときは、count()
を複数回使います。
text = "elementary experience"
count_a = text.count("a")
count_e = text.count("e")
print("aの数:", count_a)
print("eの数:", count_e)
実行結果:
aの数: 1
eの数: 5
3. よくある使い方・応用例
3-1. 入力された文字列中の母音の数をカウント
ユーザーから文字列を受け取り、母音(a, i, u, e, o)の数をすべてカウントしてみましょう。
# 母音の出現回数をカウントする
text = input("文字列を入力してください:")
vowels = "aiueo"
for vowel in vowels:
count = text.count(vowel)
print(f"{vowel} の数:{count}")
実行結果(例):
文字列を入力してください:Pythonは楽しいよ
a の数:0
i の数:0
u の数:1
e の数:0
o の数:1
3-2. 複数行テキストの中での特定文字の出現数
文章中に特定の文字(例:「。」「、」)が何回使われているかを調べるのにも便利です。
text = """Pythonは初心者にも優しい言語です。
その文法はシンプルで、直感的に書ける点が特徴です。"""
# 句点と読点のカウント
count_period = text.count("。")
count_comma = text.count("、")
print("句点(。)の数:", count_period)
print("読点(、)の数:", count_comma)
実行結果:
句点(。)の数: 2
読点(、)の数: 1
3-3. ファイルの中から特定の文字数をカウント
ファイルを開いて、その中に含まれる特定の文字を数えることも可能です。
# ファイル内の「e」の数をカウント
with open("sample.txt", "r", encoding="utf-8") as f:
content = f.read()
count_e = content.count("e")
print("eの数:", count_e)
実行結果(例):
eの数: 42
4. 注意点・エラー対策
4-1. 大文字と小文字は区別される
count()
メソッドは、大文字・小文字を区別します。そのため「A」と「a」は別物としてカウントされます。
text = "Apple and avocado"
print("A の数:", text.count("A"))
print("a の数:", text.count("a"))
実行結果:
A の数: 1
a の数: 1
すべて小文字に統一したい場合はlower()
を使います。
4-2. NoneTypeエラーやファイル読み込みエラーに注意
変数が文字列でない場合、AttributeError
が出ることがあります。またファイル読み込み時は、ファイルパスや文字コードに注意してください。
# 安全なファイル読み込みの例
try:
with open("sample.txt", "r", encoding="utf-8") as f:
text = f.read()
print("e の数:", text.count("e"))
except FileNotFoundError:
print("ファイルが見つかりません")
実行結果(例):
ファイルが見つかりません
5. まとめ
今回は、Pythonで文字列中の特定の文字をカウントする方法を中心に、基本的なcount()
メソッドの使い方から、応用例、注意点まで幅広く解説しました。
count()
を使えば簡単に任意の文字数を取得できる- 実務ではログ解析やデータ分析にも活用できる
- 大文字小文字やファイルエンコーディングには注意が必要
たとえば「入力文に禁止文字が含まれているか」「日本語の文章で読点の数を数える」といった場面でも使える便利な機能です。Python初心者の方は、ぜひ実際にコードを動かしながら理解を深めてください。