【Python】文字列endswith()メソッドの使い方を徹底解説
このチュートリアルでは、Pythonの文字列メソッドendswith()について詳しく解説します。
endswith()は、文字列が指定した部分文字列で終わっているかどうかを判定するメソッドです。条件に一致すればTrueを、一致しなければFalseを返します。引数は必須のものが1つ、任意のものが2つあります。
必須引数は、末尾に含まれているかどうかを確認したい文字列です。任意引数は検索範囲を指定するstartとendのインデックスで、デフォルトでは文字列の先頭から末尾までが対象となります。
基本構文
string.endswith(suffix[, start[, end]])
- suffix(必須):末尾に含まれるかを確認したい文字列
- start(省略可):検索範囲の開始インデックス(デフォルトは0)
- end(省略可):検索範囲の終了インデックス(デフォルトは文字列の長さ=末尾まで)
基本的な使用例
# 文字列を初期化
string = "tutorialspoint"
# 'point'で終わるかチェック
print(string.endswith('point'))
# 'Point'で終わるかチェック
print(string.endswith('Point'))
# 'tutorialspoint'で終わるかチェック
print(string.endswith('tutorialspoint'))実行結果
上記のコードを実行すると、次のような出力が得られます。
True False True
'point'と'tutorialspoint'は文字列の末尾と一致するためTrueが返されます。一方、'Point'は大文字・小文字が区別されるためFalseとなる点に注意しましょう。
startとendのインデックスを指定すると、endswith()はその範囲内の文字列だけを対象に判定を行います。ただし、endに指定したインデックス自体は範囲に含まれない点に注意してください。具体例を見てみましょう。
start・endを指定した使用例
# 文字列を初期化
string = "tutorialspoint"
# インデックス10以降が'point'で終わるかチェック
print(string.endswith('point', 10, len(string)))
# インデックス8以降が'point'で終わるかチェック
print(string.endswith('point', 8, len(string)))
# インデックス0〜13が'tutorialspoint'で終わるかチェック
print(string.endswith('tutorialspoint', 0, len(string) - 1))実行結果
上記のコードを実行すると、次のような出力が得られます。
False True False
- 1つ目:切り出された範囲は「oint」となり、「point」で終わらないためFalse
- 2つ目:範囲は「spoint」となり、「point」で終わるためTrue
- 3つ目:範囲は「tutorialspoin」となり、完全な文字列と一致しないためFalse
まとめ
endswith()メソッドを使えば、文字列が特定の部分文字列で終わっているかどうかを簡単に判定できます。ファイル拡張子のチェックやURLの判定など、実務でも幅広く活用できる便利なメソッドなので、ぜひ実際にコードを書いて動作を確かめてみてください。
-
Pythonで文字列を逆順に反転する方法|追加メモリ不要のインプレース手法
文字の配列が与えられたとき、追加のメモリ領域を使用せずに文字列を逆順に反転することを考えます。たとえば、入力が [H, E, L, L, O] である場合、期待される出力は [O, L, L, E, H] となります。 解法のアプローチ この問題は「Two Pointers(ツーポインタ)」と呼ばれる定番のテクニックで効率的に解けます。考え方はシンプルで、配列の両端から中央に向かって文字を交換していくだけです。 手順 2つのポインタを用意します:start = 0、end = 文字列の長さ - 1 s[start] と s[end] の文字を入れ替えます start を1つ増やし、end を
-
Pythonのcasefold()メソッドとは?文字列の小文字変換と比較方法を解説
Pythonのcasefold()は、文字列内の英字をすべて小文字に変換するためのメソッドです。lower()と似ていますが、より積極的な変換を行う点が特徴で、ドイツ語の「ß」が「ss」に変換されるなど、国際化対応において強力な働きをします。2つの文字列に対してcasefold()を適用すれば、大文字・小文字の違いを無視して値を一致させることができます。そのため、ユーザー入力の比較や検索処理などで非常に役立ちます。casefold()の基本的な使い方次の例では、文字列にcasefold()を適用し、すべて小文字に変換された結果を出力しています。コード例string = BestTutorial