【Python】endswith()で末尾が指定した文字列であるかを確認!
(*このページは2021年2月2日に更新されました。)
Pythonのendswith()を使用すると、ある文字列の末尾が指定した文字列で終わるかを確認することができます。
endswith()とは末尾が指定した文字列であるかどうかを真偽値で確認するメソッドであり、対象の文字列の末尾が指定した文字列である場合はTrue、指定した文字列でない場合はFalseを返します。
そして、endswith()のパラメータに検索開始位置や検索終了位置を指定すると文字列の範囲を指定でき、その範囲で指定した文字列で終わるかを確認することができます。
また、 endswith()の検索したい文字列にタプルを指定すると、末尾を複数の候補から確認することができます。
今回はPythonのendswith()で末尾が指定した文字列であるかを確認する方法について以下の内容で解説していきます。
⚫︎ デフォルトの文字列の末尾を確認する場合
⚫︎ 文字列の始まりの位置を設定して末尾を確認する場合
⚫︎ 文字列の始まりと終わりの位置を設定して末尾を確認する場合
⚫︎ 指定した文字列で終わりを複数の候補から確認する方法
目次
endswith()とは
endswith()とは、文字列の末尾が指定した文字列であるかどうかを真偽値で確認するメソッドとなります。
endswith()の書き方
endswith()の書き方は下記となります。
1 |
文字列.startswith('検索したい文字列 [, 検索開始位置] [, 検索終了位置]') |
endswith()のパラメータ
⚫︎ 検索したい文字列:
末尾かどうか確認するための検索したい文字列を指定する
⚫︎ 検索開始位置:
検索開始位置をインデックスで指定する
(0がスタート)
⚫︎ 検索終了位置:
検索終了位置をインデックスで指定する
endswith()に検索したい文字列を指定することで、検索したい文字列が文字列の末尾であるかどうかを真偽値で返します。
また、検索開始位置や検索終了位置を指定すると文字列の範囲を設定し、その範囲内の末尾の文字列が検索したい文字列かどうかを真偽値で返します。
末尾が指定した文字列であるかどうかを確認するサンプルコード
endswith()で指定した文字列で終わるかを確認するサンプルコードを紹介します。
デフォルトの文字列の末尾を確認する場合
デフォルトの文字列の末尾を確認するには、endswith()に検索したい文字列を指定します。
例
1 2 3 4 5 6 7 8 9 10 |
print('endswith()で末尾の文字列を確認') string = 'endswith()でここの文字列の末尾の文字を確認します。' print('・対象の文字列:', string) string_result1 = string.endswith('します。') print('・末尾が「します。」であるかどうか:',string_result1) string_result2 = string.endswith('します') print('・末尾が「します」であるかどうか:',string_result2) |
出力結果
endswith()で末尾の文字列を確認
・対象の文字列: endswith()でここの文字列の末尾の文字を確認します。
・末尾が「します。」であるかどうか: True
・末尾が「します」であるかどうか: False
endswith()によってデフォルトの文字列の末尾が指定した文字列であるかどうかを確認しています。
その為、末尾が「します。」である場合はTrueを、「します」である場合はFalseが返されています。
文字列の開始位置を設定して末尾を確認する場合
文字列の開始位置を設定して末尾を確認するにはendswith()のパラメータに検索開始位置を指定します。
例
1 2 3 4 5 6 7 8 9 10 |
print('endswith()で末尾の文字列を確認') string = 'endswith()でここの文字列の末尾の文字を確認します。' print('・対象の文字列:', string) string_result1 = string.endswith('します。', 11) print('・末尾が「します。」であるかどうか:', string_result1) string_result2 = string.endswith('します', 21 ) print('・末尾が「します」であるかどうか:', string_result2) |
出力結果
endswith()で末尾の文字列を確認
・対象の文字列: endswith()でここの文字列の末尾の文字を確認します。
・末尾が「します。」であるかどうか: True
・末尾が「します」であるかどうか: False
endswith()に検索開始位置を指定することで文字列の開始位置を設定し、文字列の末尾が指定した文字列であるかどうかを確認しています。
その為、「ここの文字列の末尾の文字を確認します。」の末尾が「します。」であることからTrueを、「文字を確認します。」の末尾は「します」でないためFalseが返されています。
endswiths()に開始位置のみを指定するのは余り意味がなさそうです。
文字列の開始と終了位置を設定して末尾を確認する場合
文字列の開始と終了位置を設定して末尾を確認するには、endswith()のパラメータに検索開始位置と検索終了位置を指定します。
例
1 2 3 4 5 6 7 8 9 10 |
print('endswith()で末尾の文字列を確認') string = 'endswith()でここの文字列の末尾の文字を確認します。' print('・対象の文字列:', string) string_result1 = string.endswith('列', 11, 17) print('・末尾が「列」であるかどうか:', string_result1) string_result2 = string.endswith('します', 5, 10) print('・末尾が「します。」であるかどうか:', string_result2) |
出力結果
endswith()で末尾の文字列を確認
・対象の文字列: endswith()でここの文字列の末尾の文字を確認します。
・末尾が「列」であるかどうか: True
・末尾が「します。」であるかどうか: False
endswith()によって文字列の開始と終了位置を設定し、文字列の末尾が指定した文字列であるかどうかを確認しています。
その為、「ここの文字列」の末尾は「列」であるためTrueを、「ith()」の末尾は「します。」でないためFalseが返されています。
末尾を指定した文字列の複数の候補から確認する方法
endswith()のパラメータである検索したい文字列にタプル(tuple)を指定することで、末尾を指定した文字列の複数の候補から確認することができます。
タプル(tuple)は複数のデータを格納できるイミュータブルな(変更できない)型となります。
もし、タプル(tuple)について詳しく知りたい場合はこちらを義参考ください。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 |
print('endswith()で末尾の文字列を確認') string = 'こりもいなかった。その恐ろしさといったら紛らしようもない。' print('・対象の文字列:', string) string_result1 = string.endswith(('ない。', '恐ろしさ', 'いなかった。')) print('・末尾が「ない。」か「恐ろしさ」か「いなかった」のどれかか:', string_result1) string_result2 = string.endswith(('ない', '恐ろしさ', 'いなかった。'), 5) print('・末尾が「ない」か「恐ろしさ」か「いなかった」のどれかか:', string_result2) string_result3 = string.endswith(('こりも', 'しようもない。', 'かった。'), 2, 9) print('・末尾が「こりも」か「しようもない」か「かった」のどれかか:', string_result3) |
出力結果
endswith()で末尾の文字列を確認
・対象の文字列: こりもいなかった。その恐ろしさといったら紛らしようもない。
・末尾が「ない。」か「恐ろしさ」か「いなかった」のどれかか: True
・末尾が「ない」か「恐ろしさ」か「いなかった」のどれかか: False
・末尾が「こりも」か「しようもない」か「かった」のどれかか: True
endswith()で末尾を指定したタプルの要素から確認しています。
また、検索開始と検索終了位置を設定する場合でも、タプルで確認をとることができます。
その為、string_result1はタプル内に祇園精舎があるためTrueを、string_result2はタプル内に末尾となる要素がないのでFalseを、string_result3はタプル内に末尾となる要素があるのでTrueを返しています。
今回のポイント
endswith()で末尾が指定した文字列であるかを確認
Pythonで末尾が指定した文字列で終わるかを確認するにはendswith()を使用する。
⚫︎ endswith()のパラメータには検索したい文字を指定する
⚫︎ endswith()で文字列の範囲を設定して末尾を確認するにはパラメータに検索したい文字、検索開始位置、検索終了位置の3つを指定する
⚫︎ デフォルトの文字列の末尾を確認するには、endswith()に検索したい文字列を指定する
⚫︎ 文字列の開始位置を設定して末尾を確認するには、endswith()のパラメータに検索開始位置を指定する
(これはあまり使わない)
⚫︎ 文字列の開始と終了位置を設定して末尾を確認するには、endswith()のパラメータに検索開始位置と検索終了位置を指定する
⚫︎ 末尾を指定した文字列の複数の候補から確認するにはパラメータの検索したい文字をタプルで指定する
関連記事
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。