1. はじめに
Pythonで文字列処理を行う際に、「文字列の先頭や末尾が特定の文字や文字列で始まっているか・終わっているか」を判定したい場面は多くあります。
この記事では、Pythonのstartswith()メソッドとendswith()メソッドを使って、文字列の先頭や末尾を簡単にチェックする方法を解説します。
特にファイル名の判定やURLの確認、CSV処理などの実務でもよく使われるテクニックです。Python初心者〜中級者の方に向けて、わかりやすいコード例と共に丁寧に説明していきます。
2. Pythonで文字列の先頭・末尾を判定する基本
2-1. startswith()の基本構文と使い方
文字列が指定した文字列で始まるかどうかを判定するには、startswith()
を使います。
text = "python_programming"
result = text.startswith("python")
print(result)
実行結果:
True
2-2. endswith()の基本構文と使い方
文字列が指定した文字列で終わるかどうかを調べるには、endswith()
を使います。
filename = "data.csv"
result = filename.endswith(".csv")
print(result)
実行結果:
True
3. よくある使い方・応用例
3-1. ファイル拡張子のチェック
files = ["report.pdf", "data.csv", "image.png", "notes.csv"]
for file in files:
if file.endswith(".csv"):
print(f"CSVファイル: {file}")
実行結果:
CSVファイル: data.csv
CSVファイル: notes.csv
3-2. URLの形式チェック(http / https)
urls = ["https://example.com", "http://test.com", "ftp://file.net"]
for url in urls:
if url.startswith("https://"):
print(f"安全なURL: {url}")
実行結果:
安全なURL: https://example.com
3-3. 複数の条件での先頭/末尾チェック
filename = "document.txt"
if filename.endswith((".txt", ".md")):
print("テキスト系ファイルです")
実行結果:
テキスト系ファイルです
4. 注意点・エラー対策
4-1. 大文字小文字の違いに注意
startswith()
とendswith()
は大文字・小文字を区別します。
text = "PythonScript"
print(text.startswith("python")) # Falseになります
実行結果:
False
対策として、事前に小文字化してから比較する方法があります。
text = "PythonScript"
print(text.lower().startswith("python"))
実行結果:
True
4-2. None型や数値型には使えない
startswith()
とendswith()
は文字列型(str
)専用のメソッドです。
もしNone
やint
型に対して使おうとするとエラーになります。
num = 12345
# print(num.startswith("123")) # AttributeErrorが発生します
このようなエラーを避けるために、str()
で文字列化するか、事前に型チェックを行いましょう。
5. まとめ
この記事では、Pythonのstartswith()とendswith()メソッドを使って、
文字列の先頭や末尾が特定の文字列と一致するかを判定する方法を学びました。
startswith()
→ 文字列の「先頭」をチェックendswith()
→ 文字列の「末尾」をチェック- ファイル判定・URLチェックなど、実務にも幅広く活用可能
特に、文字列のフィルタリングやデータ前処理で多用される機能です。
文字列処理に慣れてきたら、reモジュール(正規表現)
と組み合わせてさらに高度なパターンマッチングに挑戦してみるのもおすすめです。