Python 文字列の始め/終わりを確認する(startswith/endswith)

Pythonの文字列の始めまたは終わりを確認するサンプルです。
startswithメソッドとendswithメソッドを使用します。

確認環境
・Python 3.7.0

目次

文字列の始めを確認する(startsWithメソッド(引数1つ))

文字列.startswith(検索する文字列)
  • 文字列が指定した引数の検索する文字列で始まっていればtrueを返し、そうでない場合はfalseを返します。
  • 2つ目の引数の最初の1文字目の位置は0から始まります。
  • 以下はPython公式ドキュメントのstartswithメソッドのリンクです。
    https://docs.python.jp/3/library/stdtypes.html#str.startswith

コード

startsWithメソッドのサンプルです。

# coding: utf-8

str1 = 'あいうえお'

print(str1.startswith('あいう')) # True

print(str1.startswith('あいえ')) # False

5行目は、文字列は指定した引数で始まっているのでtrueが返ります。
7行目は、文字列は指定した引数で始まっていないのでfalseが返ります。

 

文字列の始めを確認するstartsWithメソッド(引数2つ)

文字列.startswith(検索する文字列 [,開始の位置 [終了の位置]])
  • 文字列が指定した引数で始まっていればtrueを返します。それ以外の場合はfalseを返します。
  • 2つ目の引数は比較を開始する位置です
  • 最初の1文字目の位置は0から始まります。
  • 以下はPython公式ドキュメントのstartswithメソッドのリンクです。
    https://docs.python.jp/3/library/stdtypes.html#str.startswith

コード

startsWithメソッドの引数が2つあるサンプルです。

# coding: utf-8

str1 = 'あいうえお'

print(str1.startswith('あいう',0)) # True

print(str1.startswith('あいう',1)) # False

print(str1.startswith('いうえ',1)) # True

5行目は、2つ目の引数が0です。文字列の最初から比較します。trueです。
7行目は、2つ目の引数が1です。文字列の2文字目から比較します。falseになります。
9行目も、2つ目の引数が1です。今回は文字列の2文字目から比較するのでtrueになります。

 

文字列の終わりを確認する(endsWithメソッド)

文字列.endswith(検索する文字列 [,開始の位置 [終了の位置]])
  • 文字列が指定した引数の検索する文字列で終わっていればtrueを返し、そうでない場合はfalseを返します。
  • 2つ目の引数の最初の1文字目の位置は0から始まります。
  • 以下はPython公式ドキュメントのendswithメソッドのリンクです。
    https://docs.python.jp/3/library/stdtypes.html#str.endswith

コード

endsWithメソッドのサンプルです。

# coding: utf-8

str1 = 'あいうえお'

print(str1.endswith('うえお')) # True

print(str1.endswith('うえか')) # False

5行目は、文字列は指定した引数で終わっているのでtrueが返ります。
7行目は、文字列は指定した引数で終わっていないのでfalseが返ります。

endswithメソッドの引数を3つ指定

endsWithメソッドの3つめの引数は終了の位置です。

# coding: utf-8

str1 = 'あいうえお'

print(str1.endswith('うえお',0,5)) # True

print(str1.endswith('うえお',0,4)) # False

print(str1.endswith('うえお',2,5)) # True

print(str1.endswith('うえお',3,5)) # False

5行目の対象の文字列は(あいうえお)です。引数の(うえお)で終わっているのでtrueを返します。
7行目の対象の文字列は(あいうえ)です。引数の(うえお)で終わっていないのでfalseを返します。
9行目の対象の文字列は(うえお)です。引数の(うえお)で終わっているのでtrueを返します。
11行目の対象の文字列は(えお)です。引数の(うえお)で終わっていないのでfalseを返します。

関連の記事

Python 文字を検索し値を返す(find/index)
Python 文字列を分割してリストにする(split)
Python 英字の大文字と小文字を変換(upper/lower/capitalize/swapcase/title)
Python エスケープシーケンスとraw文字列のサンプル
Python 文字列の先頭と末尾を削除する(strip/lstrip/rstrip)

△上に戻る