この記事では、Pythonの文字列が特定の部分文字列で始まるか、または終わるかを判定する**startswith()
とendswith()
**メソッドについて解説します。
目次
startswith()
メソッド
startswith()
メソッドは、文字列が指定された**接頭辞(prefix)**で始まるかどうかを判定します。始まる場合はTrue
を、そうでない場合はFalse
を返します。
この判定は大文字と小文字を区別します。
file_name = "image_001.jpg"
# "image" で始まるか
print(file_name.startswith("image")) # 出力: True
# "Image" (大文字) で始まるか
print(file_name.startswith("Image")) # 出力: False
# "001" で始まるか
print(file_name.startswith("001")) # 出力: False
endswith()
メソッド
endswith()
メソッドは、文字列が指定された**接尾辞(suffix)**で終わるかどうかを判定します。終わる場合はTrue
を、そうでない場合はFalse
を返します。
こちらも大文字と小文字を区別します。
file_name = "document_final.pdf"
# ".pdf" で終わるか
print(file_name.endswith(".pdf")) # 出力: True
# ".PDF" (大文字) で終わるか
print(file_name.endswith(".PDF")) # 出力: False
# "final" で終わるか
print(file_name.endswith("final"))# 出力: False
実用例
これらのメソッドは、特定の種類のデータをフィルタリングする際に非常に役立ちます。例えば、URLが安全なプロトコルで始まっているか、あるいはファイルが特定の拡張子を持っているかを確認するような場面で活用できます。
url = "https://example.com"
if url.startswith("https://"):
print("安全な接続です。")
else:
print("安全でない接続の可能性があります。")
files = ["data.csv", "report.docx", "archive.zip", "notes.csv"]
csv_files = []
for file in files:
if file.endswith(".csv"):
csv_files.append(file)
print(f"CSVファイル: {csv_files}") # 出力: CSVファイル: ['data.csv', 'notes.csv']
まとめ
startswith()
: 文字列が指定した部分文字列で始まるかを判定します。endswith()
: 文字列が指定した部分文字列で終わるかを判定します。- どちらのメソッドも、大文字と小文字を厳密に区別します。