カテゴリ: Python 更新日: 2025/12/16

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

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

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

生徒

「Pythonで文字列が特定の言葉で始まっているかどうか調べる方法ってありますか?」

先生

「はい、startswith()endswith()というメソッドを使えば、文字列の前後を簡単にチェックできますよ。」

生徒

「メソッドっていうのは文字列にくっついて使う関数のことでしたよね?」

先生

「その通りです!この2つのメソッドも、文字列に対して『○○で始まる?』『○○で終わる?』と確認するための命令なんです。今からわかりやすく解説しますね。」

-

1. startswith()とは?文字列の先頭をチェックするメソッド

1. startswith()とは?文字列の先頭をチェックするメソッド
1. startswith()とは?文字列の先頭をチェックするメソッド

startswith()メソッドは、「この文章は特定の言葉で始まっているかな?」と確認したいときに使える便利な機能です。判定結果はTrue(合っている)False(違う)のどちらかで返され、文章の分類や条件分岐にもよく使われます。

まずは、シンプルな例で動きを見てみましょう。


text = "Pythonは楽しい"
print(text.startswith("Python"))  # 「Python」で始まるかをチェック

True

このように、文字列の最初が「Python」で始まっているためTrueが返ってきます。もし「Py」や「P」など部分的な一致を調べたい場合でも、同じように先頭が一致していればTrueになります。

例えば次のように、文字列がどんな言葉から始まっているかによって表示するメッセージを変える、といった使い方も簡単にできます。


message = "ありがとうございます"

if message.startswith("ありがとう"):
    print("お礼のメッセージですね!")

お礼のメッセージですね!

このようにstartswith()は、文章の意味をざっくり判別したり、データの形式を確認する場面などで活躍する、とても使い勝手のよいメソッドです。

2. endswith()とは?文字列の末尾をチェックするメソッド

2. endswith()とは?文字列の末尾をチェックするメソッド
2. endswith()とは?文字列の末尾をチェックするメソッド

endswith()メソッドは、文字列が特定の言葉で終わっているかどうかを調べるために使います。


text = "Pythonは楽しい"
print(text.endswith("楽しい"))

True

このように、文字列の最後が「楽しい」で終わっているのでTrueとなります。

3. 一致しない場合はFalseになる

3. 一致しない場合はFalseになる
3. 一致しない場合はFalseになる

指定した言葉と合っていない場合は、結果はFalseになります。


text = "Pythonは楽しい"
print(text.startswith("Java"))
print(text.endswith("面白い"))

False
False

このように、始まりや終わりが一致しなければFalseになります。

4. 大文字と小文字は区別されるので注意

4. 大文字と小文字は区別されるので注意
4. 大文字と小文字は区別されるので注意

startswith()endswith()は、大文字と小文字を区別します。たとえば「Python」と「python」は別の文字列として扱われます。


text = "Python"
print(text.startswith("python"))

False

このように、アルファベットの大文字・小文字には注意しましょう。

-

5. 小文字にそろえて比較するテクニック

5. 小文字にそろえて比較するテクニック
5. 小文字にそろえて比較するテクニック

すべて小文字にそろえてから比較すると、大文字小文字の違いを気にせず使えます。


text = "Python"
print(text.lower().startswith("python"))

True

lower()メソッドを使うことで、文字列をすべて小文字に変換できます。

6. 複数の選択肢をまとめて調べる方法

6. 複数の選択肢をまとめて調べる方法
6. 複数の選択肢をまとめて調べる方法

startswith()endswith()は、タプル(カンマで区切った複数の値)を渡すと、どれか1つでも一致すればTrueを返します。


text = "hello world"
print(text.startswith(("hi", "hello")))

True

このように、複数の候補を一気にチェックできます。

7. endswith()も同じように複数チェック可能

7. endswith()も同じように複数チェック可能
7. endswith()も同じように複数チェック可能

endswith()も同様に、タプルを使って複数の語尾に対応できます。


filename = "report.pdf"
print(filename.endswith((".pdf", ".docx", ".txt")))

True

ファイルの種類ごとに処理を分けたいときなどに便利です。

8. startswith()とendswith()の違いを整理

8. startswith()とendswith()の違いを整理
8. startswith()とendswith()の違いを整理
  • startswith():文字列が指定した文字で「始まっているか」チェック
  • endswith():文字列が指定した文字で「終わっているか」チェック

どちらも結果はTrueまたはFalseで返されるので、条件分岐にもよく使われます。

9. 応用:メールアドレスやURLの確認にも使える

9. 応用:メールアドレスやURLの確認にも使える
9. 応用:メールアドレスやURLの確認にも使える

endswith()を使えば、メールアドレスのドメインチェックも簡単にできます。


email = "user@example.com"
if email.endswith("@example.com"):
    print("社内メールです")

社内メールです

また、URLの先頭が「https://」で始まっているか確認したいときも、startswith()が使えます。

10. 練習問題:文字列の始まりと終わりを判定してみよう

10. 練習問題:文字列の始まりと終わりを判定してみよう
10. 練習問題:文字列の始まりと終わりを判定してみよう

次の文字列が「こんにちは」で始まり、「さようなら」で終わっているかチェックしてみましょう。


text = "こんにちは。今日も一日お疲れさまでした。さようなら"
print(text.startswith("こんにちは"))
print(text.endswith("さようなら"))

True
True

このように、簡単に文章の構成をチェックできるのがstartswith()endswith()の魅力です。

まとめ

まとめ
まとめ

ここまで、Pythonの文字列操作で非常に便利なstartswith()endswith()の使い方を、基本から応用まで幅広く学んできました。文字列の先頭や末尾を調べる処理は、ファイル名のチェック、URLの判定、メールアドレスの確認、文章の分類、ログ解析など、多くの場面で活用されます。特にWeb開発やデータ加工では、文字列の前後を判断するロジックが頻繁に登場するため、これらのメソッドを知っているだけで、コードの表現力が大きく広がります。 また、複数の文字列をまとめて判定できるタプル指定や、大文字小文字をそろえて比較するテクニックも、実際の実務で非常に役立ちます。たとえば、ユーザー入力の揺れを吸収するときや、複数形式のファイルをまとめて扱うときなど、柔軟に対応できるコードを組むための土台となります。Pythonの文字列操作はシンプルですが、こうした細かなメソッドが非常に賢く働いてくれるため、初心者でも短いコードで効果的な処理を書けるのが魅力です。 さらに、条件分岐と組み合わせることで、文字列処理の応用範囲は一気に広がります。特に、ログデータの分類や文章のトークン解析、ファイル判別などは、指定した文字で始まるかどうか、特定の拡張子で終わっているかというチェックが重要な要素になります。こうした「特定パターンの検出」において、startswith()endswith()は欠かせない存在です。Pythonを扱ううえで、この二つのメソッドを自然に使えるようになることは、大きな成長につながります。 以下に、今回の学習内容を整理しつつ、応用的な場面でも使える実用的なサンプルコードを掲載します。実務レベルの判定ロジックとしても使える構成にしているので、自分のプロジェクトでも活用できるはずです。

総まとめサンプルコード(実用向け)


texts = [
    "https://example.com/start",
    "http://test.example.org",
    "report_final.pdf",
    "archive_2024.zip",
    "hello world",
    "こんにちは。明日もよろしくお願いします。",
    "log_error_20241015.txt"
]

for t in texts:
    # URL判定
    if t.startswith(("https://", "http://")):
        print("URL検出:", t)

    # ファイル形式の判定
    if t.endswith((".pdf", ".txt", ".zip")):
        print("対象ファイル:", t)

    # 日本語文章の簡易分類
    if t.startswith("こんにちは"):
        print("挨拶文:", t)

print("=== 大文字小文字を吸収した比較例 ===")
title = "HelloWorld"
if title.lower().startswith("hello"):
    print("英語の挨拶を含むタイトルです")

このように、startswith()endswith()を組み合わせることで、文字列から簡単に情報を分類したり抽出したりできる強力な仕組みが完成します。日常的なプログラムでも「どの種類のデータか判断したい」という場面は本当に多いため、これらのメソッドが自然に使いこなせると、コードの意図をすばやく伝えられる読みやすいプログラムが実現できます。 文字列処理の基本は、繰り返し使うことで理解が深まり、徐々に「判定の発想」そのものも広がっていきます。ぜひ今回の内容を何度も試しながら、実際の開発の中で活用してみてください。

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

生徒

「文字列の先頭と末尾を調べるだけで、こんなに応用が効くって思っていませんでした。ファイル判定とかURLチェックにも使えるんですね。」

先生

「そうなんです。シンプルなメソッドですが、実用範囲がとても広いところが魅力です。特に実務では、データを仕分けたり分類したりする処理が毎日のようにありますからね。」

生徒

「タプルを使えば複数の候補をまとめて判定できるのも便利でした。条件分岐がすっきり書けそうです。」

先生

「その通り。細かい条件を丁寧に書くより、タプルを使えばすっきり表現できますし、可読性も上がります。将来ほかの候補が増えたときの修正も簡単です。」

生徒

「大小文字の判定も勘違いしやすいポイントですね。lower()を組み合わせるのがすごく便利だと感じました。」

先生

「大小文字の差は意外とミスが起こりやすいので、事前にそろえて比較するテクニックは本当に役に立ちますよ。」

生徒

「今回学んだ内容なら、実際のコードでもすぐ使えそうです!特にファイル名の判別をする処理は、すぐにでも活用したいです。」

先生

「それは良いですね。文字列判定はPythonの基礎ですが、応用の幅が広いので身につけておくと大きな武器になりますよ。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Pythonのstartswith()メソッドとは何をする関数ですか?

startswith()メソッドは、Pythonの文字列操作で使われ、特定の文字列が指定した語で始まっているかどうかを調べる関数です。先頭の一致を確認したいときに便利です。
コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
New1
PHP
PHPのCookieセキュリティを完全ガイド!初心者でもわかるSecureとHttpOnlyの使い方
New2
PHP
PHPのCSRF対策を完全理解!トークンを使った安全なフォーム送信の仕組みを初心者向けに徹底解説
New3
PHP
PHPのSQLインジェクション対策を完全解説!初心者でも安全にデータベースを扱う方法
New4
PHP
PHPでカウントダウンタイマーを作る方法!初心者向けにやさしく解説
-
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())
No.2
Java&Spring記事人気No2
PHP
初心者向けPHPでMySQLからデータを取得する方法(SELECT文)完全ガイド
No.3
Java&Spring記事人気No3
Python
Pythonのリストの重複を削除する方法を解説!初心者向けにsetとdict.fromkeysの使い方をやさしく説明
No.4
Java&Spring記事人気No4
Python
Pythonで経過時間を測る方法をやさしく解説!初心者向けtime.perf_counterとtime.sleepの使い方
No.5
Java&Spring記事人気No5
Python
Pythonでエラースタックトレースを表示・取得する方法を徹底解説!初心者向け例外処理入門
No.6
Java&Spring記事人気No6
PHP
PHPのOAuth認証をやさしく解説!Google・Facebookログインを初心者向けに実装しよう
No.7
Java&Spring記事人気No7
PHP
PHPのXSS対策を完全ガイド!初心者でもわかる安全なWebアプリの作り方
No.8
Java&Spring記事人気No8
Python
PythonでMySQLに接続する方法を完全解説!初心者でもわかるpymysqlの基本
-
-