Python 文字の位置を取得するサンプル(find/index)

Pythonの文字の位置を取得するサンプルです。
findメソッドまたはindexメソッドを使用します。

確認環境
・Python 3.6.4

目次

findメソッド

文字列.find(検索する文字列 [,開始の位置 [終了の位置]])
  • 文字列の先頭から検索し見つかった場合その位置を返します。
  • 先頭は0から始まります。
  • 指定する文字列がない場合-1を返します。(←indexメソッドとの違い)
  • rfindメソッドを使用すると文字列の末尾から検索します。
  • 以下はPython 3.6.x ドキュメントのfindメソッドのリンクです。
    https://docs.python.jp/3/library/stdtypes.html#str.find

文字列の位置を取得する

文字列の位置を取得するサンプルです。

# coding: utf-8

a = 'あいうabcあいう'

print(a.index('b')) # 4

print(a.index('abc')) # 3

print(a.index('あいう')) # 0

print(a.index('あいえ')) # #ValueError: substring not found

/code>

5,7行目は、指定した文字列が見つかった位置を返しています。
9行目は、文字列を左から見て最初に出現する"あいう"の位置を返しています。
11行目は、指定した文字がないので-1を返します。

検索開始位置を指定する

検索開始位置を指定するサンプルです。
2つめの引数は検索を開始する位置です。

# coding: utf-8

a = 'あいうえお'

print(a.find('う',2)) # 2

print(a.find('う',3)) # -1

5行目の引数は2なので対象の文字列は(うえお)です。引数の文字列(う)が見つかった位置を返しています。
7行目の引数は3なのでの対象の文字列は(えお)です。引数の文字列(う)が見つからないので-1を返します。

検索開始位置と終了位置を指定する

検索開始位置と終了位置を指定するサンプルです。
2つめの引数は検索を開始する位置で、3つめの引数は終了の位置です。

# coding: utf-8

a = 'あいうえお'

print(a.find('お',2,5)) # 4

print(a.find('お',2,4)) # -1

5行目の引数は2と5なので対象の文字列は(うえお)です。引数の文字列(お)が見つかった位置を返しています。
7行目の引数は2と4なので対象の文字列は(うえ)です。引数の文字列(お)が見つからないので-1を返します。

indexメソッド

文字列.index(検索する文字列 [,開始の位置 [終了の位置]])
  • 文字列の先頭から検索し見つかった場合その位置を返します。
  • 先頭は0から始まります。
  • 指定する文字列がない場合ValueErrorを返します。(←findメソッドとの違い)
  • rindexメソッドを使用すると文字列の末尾から検索します。
  • 以下はPython 3.6.x ドキュメントのindexメソッドのリンクです。
    https://docs.python.jp/3/library/stdtypes.html#str.index

文字列の位置を取得する

文字列の位置を取得するサンプルです。

# coding: utf-8

a = 'あいうabcあいう'

print(a.index('b')) # 4

print(a.index('abc')) # 3

print(a.index('あいう')) # 0

print(a.index('あいえ')) # #ValueError: substring not found

5,7行目は、指定した文字列が見つかった位置を返しています。
9行目は、文字列を左から見て最初に出現する"あいう"の位置を返しています。
11行目は、指定した文字がないのでValueErrorを返します。

検索開始位置を指定する

検索開始位置を指定するサンプルです。
2つめの引数は検索を開始する位置です。

# coding: utf-8

a = 'あいうえお'

print(a.index('う',2)) # 2

print(a.index('う',3)) #ValueError: substring not found

5行目の引数は2なので対象の文字列は(うえお)です。引数の文字列(う)が見つかった位置を返しています。
7行目の引数は3なので対象の文字列は(えお)です。引数の文字列(う)が見つからないのでValueErrorを返します。

検索開始位置と終了位置を指定する

検索開始位置と終了位置を指定するサンプルです。
2つめの引数は検索を開始する位置で、3つめの引数は終了の位置です。

# coding: utf-8

a = 'あいうえお'

print(a.index('お',2,5)) # 4

print(a.index('お',2,4)) #ValueError: substring not found

5行目の引数は2と5なので対象の文字列は(うえお)です。引数の文字列(お)が見つかった位置を返しています。
7行目の引数は2と4なので対象の文字列は(うえ)です。引数の文字列(お)が見つからないのでValueErrorを返します。

関連の記事

Python 文字列の始め/終わりを確認する(startswith/endswith)
Python 文字列を分割してリストにするサンプル(split)
Python 大文字と小文字を変換(upper/lower/capitalize/swapcase/title)
Python エスケープシーケンスとraw文字列のサンプル
Python 文字列の先頭と末尾を削除するサンプル(strip)

△上に戻る