Pythonで文字列のスタート・エンドを判定するstartswith, endswithメソッドの使い方と応用例

この記事では、Pythonで文字列のスタートやエンドを判定するための`startswith`と`endswith`メソッドについて詳しく解説します。具体的なコード例、その解説、そして応用例も3つ以上取り上げます。

目次

基本的な使い方

Pythonの文字列オブジェクトには`startswith`と`endswith`という便利なメソッドがあります。これらは、文字列が特定の文字や文字列で始まるか、終わるかを判定するために使用されます。

startswithメソッド

`startswith`メソッドは、文字列が指定した文字列で始まるかどうかを確認します。

# 文字列が "Hello" で始まるかどうかを判定
text = "Hello, world!"
result = text.startswith("Hello")
print(result)  # 出力は True

endswithメソッド

一方で、`endswith`メソッドは、文字列が指定した文字列で終わるかどうかを確認します。

# 文字列が "world!" で終わるかどうかを判定
text = "Hello, world!"
result = text.endswith("world!")
print(result)  # 出力は True

詳細な解説

複数の選択肢を指定

これらのメソッドは、タプルを使用して複数の選択肢を指定することも可能です。

# 文字列が "Hello" または "Hi" で始まるかどうかを判定
text = "Hello, world!"
result = text.startswith(("Hello", "Hi"))
print(result)  # 出力は True

開始位置と終了位置を指定

また、`startswith`と`endswith`は、探索する文字列の範囲も指定できます。

# 8番目のインデックスから "world" が始まるかどうかを判定
text = "Hello, world!"
result = text.startswith("world", 8)
print(result)  # 出力は True

応用例

CSVファイルのフィルタリング

CSVファイルの特定の行だけを抽出する場合にも`startswith`メソッドは有用です。

# "Tokyo"で始まる行だけを抽出
for line in csv_file:
    if line.startswith("Tokyo"):
        print(line)

ファイルの拡張子を判定

ファイルが特定の拡張子で終わっているかどうかを判定するために、`endswith`メソッドを使用します。

# ".txt"で終わるファイルだけを処理
if filename.endswith(".txt"):
    process_file(filename)

URLのスキーム判定

URLがhttpかhttpsで始まるかどうかを判定する例です。

# URLが "http" または "https" で始まるか判定
if url.startswith(("http", "https")):
    fetch_page(url)

まとめ

この記事では、Pythonの`startswith`と`endswith`メソッドについて詳しく解説しました。これらは非常に便利で、プログラミングの多くの場面で活用できます。特に文字列のフィルタリングや判定には欠かせない機能です。

コメント

コメントする

目次