カテゴリ: Python 更新日: 2025/11/26

Pythonのstartswith()・endswith()の使い方!文字列の前後をチェックする方法

Pythonのstartswith()・endswith()の使い方!文字列の前後をチェックする方法
Pythonのstartswith()・endswith()の使い方!文字列の前後をチェックする方法

先生と生徒の会話形式で理解しよう

生徒

「Pythonで、ある文字列が特定の単語で始まっているかどうか調べることってできますか?」

先生

「もちろんできますよ!そのときに便利なのがstartswith()endswith()というメソッドです。」

生徒

「終わりの文字列も調べられるんですね!使い方を教えてください!」

先生

「よし、基本から応用まで丁寧に解説していきましょう!」

1. startswith()とは?文字列の先頭をチェック

1. startswith()とは?文字列の先頭をチェック
1. startswith()とは?文字列の先頭をチェック

startswith()は、ある文字列が特定の文字や単語で始まっているかどうかを調べるためのメソッドです。

書き方はとてもシンプルです:


message = "Hello, Python!"
print(message.startswith("Hello"))

True

このように、「Hello, Python!」という文字列が「Hello」で始まっているのでTrue(正しい)と判断されます。

2. endswith()とは?文字列の末尾をチェック

2. endswith()とは?文字列の末尾をチェック
2. endswith()とは?文字列の末尾をチェック

今度はendswith()です。これは文字列が特定の文字や単語で終わっているかどうかを確認できます。


filename = "report.pdf"
print(filename.endswith(".pdf"))

True

ファイル名のチェックや拡張子の判定でよく使われます。

3. startswith()・endswith()の戻り値はTrueかFalse

3. startswith()・endswith()の戻り値はTrueかFalse
3. startswith()・endswith()の戻り値はTrueかFalse

どちらのメソッドも、「本当にそうか?」という質問に答える形です。

返ってくる値は「True(正しい)」か「False(間違い)」の2つです。

たとえば、以下のように使います:


url = "https://example.com"
print(url.startswith("http"))  # True
print(url.endswith(".net"))    # False

4. 大文字・小文字の違いに注意しよう

4. 大文字・小文字の違いに注意しよう
4. 大文字・小文字の違いに注意しよう

Pythonでは、大文字と小文字を区別します(これを「ケースセンシティブ」と言います)。


greeting = "Hello"
print(greeting.startswith("hello"))  # False

False

大文字と小文字が違うだけで、結果が変わるので注意が必要です。

5. 複数の候補でstartswith()・endswith()を使う方法

5. 複数の候補でstartswith()・endswith()を使う方法
5. 複数の候補でstartswith()・endswith()を使う方法

複数のパターンを同時にチェックしたいときは、タプルを使います。

たとえば、画像ファイルかどうかをチェックするには:


image = "photo.jpeg"
print(image.endswith((".jpg", ".jpeg", ".png")))

True

このように、いくつかの選択肢をまとめてチェックできます。

6. startswith()・endswith()の活用例:ファイル振り分け

6. startswith()・endswith()の活用例:ファイル振り分け
6. startswith()・endswith()の活用例:ファイル振り分け

たとえば、拡張子ごとにファイルを分類したいとき、こんなふうに使えます:


files = ["document.txt", "image.jpg", "script.py", "notes.txt"]

for file in files:
    if file.endswith(".txt"):
        print(file + " はテキストファイルです。")

document.txt はテキストファイルです。
notes.txt はテキストファイルです。

とても簡単な条件分岐で、文字列の末尾チェックができます。

7. startswith()・endswith()の応用テクニック

7. startswith()・endswith()の応用テクニック
7. startswith()・endswith()の応用テクニック

文字列の前後に「特定の語句」が含まれているかどうかを調べることで、以下のような応用ができます:

  • メールアドレスのドメイン判定(endswith("@gmail.com")
  • URLの安全確認(startswith("https")
  • ログファイルの分類(例:startswith("ERROR")

8. 大文字・小文字を無視して判定するには?

8. 大文字・小文字を無視して判定するには?
8. 大文字・小文字を無視して判定するには?

どうしても大文字・小文字の違いを気にせず判定したいときは、文字列をすべて小文字や大文字に変換してから使いましょう。


word = "Python"
print(word.lower().startswith("py"))  # True

lower()はすべて小文字にするメソッド、逆にupper()はすべて大文字にします。

まとめ

まとめ
まとめ

ここまで、Pythonのstartswithとendswithを使って文字列の先頭や末尾を判定する方法を幅広く学んできました。特定の語句で始まっているかどうか、あるいは特定の拡張子で終わっているかどうかを簡潔に調べることができるため、ファイル名の整理、ログ解析、メールアドレスの分類、URLの安全確認などさまざまな場面で役立ちます。文字列の前後を判定するという基本操作は、プログラム全体の流れを整理し、目的ごとに条件分岐を分かりやすく実装するためにも欠かせません。特に、複数の候補をタプルにまとめて判定できる点は実務的な場面で非常に便利で、画像ファイルや文章ファイルなどを迷わず振り分けられるため、データ処理に強い力を発揮します。 また、大文字と小文字の違いをそのまま判定に使う習慣はコードの正確性を高めますが、あえてケースを無視したい場面ではlowerやupperを活用することで柔軟に対応できます。文字列は小さな単位ですが、処理次第で大きな意味を持つため、今回のような基礎的なメソッドを理解しておくことは、Pythonでの文字列操作の幅を一気に広げる大切な一歩となります。特定のパターンを持つデータを見つけたいときや、規則的な文字列から情報を切り出したいときにも大いに役立ち、シンプルな構文ながら奥が深く、状況に応じて使い分けることで正確な処理が可能になります。 実際にプログラムとして活用すると、以下のようにファイル名の分類やURLの安全確認を簡単に行えます。こうした実践的な例を生活や業務に取り入れることで、自然と文字列の扱いに慣れ、より複雑な処理にも挑戦しやすくなります。

サンプルプログラムで確認しよう

ここでは、学んだ内容を振り返りながら、文字列の前後を判定するサンプルコードを確認してみましょう。startswithとendswithがどのように役立つかを実際の動きで理解できます。


files = ["data.txt", "report.pdf", "photo.png", "memo.txt", "script.py"]
for f in files:
    if f.endswith(".txt"):
        print(f + " はテキストファイルです。")
    if f.startswith("re"):
        print(f + " は re で始まっています。")

url = "https://example.com/page"
if url.startswith("https"):
    print("安全な通信の可能性があります。")

このように、文字列の前後を調べるだけで分類・識別・管理が簡単になり、プログラム全体を効率よく進められます。ファイルごとに動作を変えたいときや、一定のパターンに一致するデータだけを取り扱いたいときにも非常に効果的です。特にデータ分析やログ確認、ネットワーク系のチェック処理では文字列の始まりや終わりに意味があることが多く、今回の知識は必ず役立つ基礎スキルとなります。Pythonを使って実務的な処理をする際にも頻繁に登場するため、日ごろから積極的に使って慣れておくことが大切です。

先生と生徒の振り返り会話

生徒

「startswithとendswithって思ったよりも使いやすいですね。前後の文字しか見ていないのに、ファイルの分類やURLの確認が簡単にできてびっくりしました。」

先生

「そうですね。文字列の先頭や末尾は情報の整理にとても重要なんです。特にファイル名やURLのように明確なルールがあるデータは、こうしたメソッドが非常に効果的です。」

生徒

「複数の拡張子をまとめて判定できるタプルの使い方も便利でした。画像ファイルの整理にも使えそうです!」

先生

「そのとおりです。複数のパターンを扱う場面は実務でもかなり多いので、今回の方法を覚えておけば応用がたくさんできますよ。」

生徒

「大文字と小文字の違いで結果が変わるのも理解しました。必要に応じてlowerを使って統一して判定するのも便利ですね。」

先生

「ええ、その使い分けができるようになるとさらに柔軟に文字列を扱えるようになります。これからもたくさん活用してみてください。」

カテゴリの一覧へ
新着記事
New1
Python
Pythonの文字列から一部を抽出する方法!スライスを使った基本的な切り出し方
New2
Flask
Flaskアプリのセキュリティ対策まとめ!初心者向けに基本をやさしく解説
New3
Flask
FlaskでCookieを安全に使う方法!HttpOnly・Secureフラグの使い方を徹底解説
New4
Flask
Flaskで外部APIと連携する方法!requestsライブラリの使い方を初心者向けに解説
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.2
Java&Spring記事人気No2
Python
Pythonでトランザクション処理を実装する方法を完全解説!commit・rollbackで安全なSQL操作
No.3
Java&Spring記事人気No3
Python
Pythonで仮想環境(venv)を作る方法!初心者向けに環境構築をステップ解説
No.4
Java&Spring記事人気No4
Python
Pythonの文字列から一部を抽出する方法!スライスを使った基本的な切り出し方
No.5
Java&Spring記事人気No5
Flask
Flask‑RESTfulでREST APIを構築する手順まとめ!初心者向けにやさしく解説
No.6
Java&Spring記事人気No6
Flask
Flaskとは何か?初心者向けにできること・特徴・インストール手順までやさしく解説
No.7
Java&Spring記事人気No7
Flask
Flaskで開発中にデータベースを初期化する方法!初心者でもわかる便利なTips
No.8
Java&Spring記事人気No8
Flask
FlaskのSQLAlchemyでフィルタリング検索!filter, filter_byの使い方完全ガイド