Pythonの文字の位置を取得するサンプルです。
findメソッドまたはindexメソッドを使用します。
| 確認環境 ・Python 3.6.4 |
目次
findメソッド
| 文字列 find(検索する文字列 [,開始の位置 [終了の位置]]) |
- 文字列の先頭から検索し見つかった場合その位置を返します。
- 先頭は0から始まります。
- 指定する文字列がない場合-1を返します。
- rfindメソッドを使用すると文字列の末尾から検索します。
- 以下はPython 3.6.x ドキュメントのfindメソッドのリンクです。
https://docs.python.jp/3/library/stdtypes.html#str.find
文字列を検索する
5,7,9行目は、指定した文字列が見つかった位置を返しています。
# coding: utf-8
a = 'あいうえお'
print(a.find('あ')) # 0
print(a.find('い')) # 1
print(a.find('うえ')) # 2
findメソッドで引数が2つ
2つめの引数は検索を開始する位置です。
5行目の対象の文字列は(うえお)です。引数の文字列(う)が見つかった位置を返しています。
7行目の対象の文字列は(えお)です。引数の文字列(う)が見つからないので-1を返します。
# coding: utf-8
a = 'あいうえお'
print(a.find('う',2)) # 2
print(a.find('う',3)) # -1
findメソッドで引数が3つ
2つめの引数は検索を開始する位置で、3つめの引数は終了の位置です。
5行目の対象の文字列は(うえお)です。引数の文字列(お)が見つかった位置を返しています。
7行目の対象の文字列は(うえ)です。引数の文字列(お)が見つからないので-1を返します。
# coding: utf-8
a = 'あいうえお'
print(a.find('お',2,5)) # 4
print(a.find('お',2,4)) # -1
indexメソッド
| 文字列 index(検索する文字列 [,開始の位置 [終了の位置]]) |
- 文字列の先頭から検索し見つかった場合その位置を返します。
- 先頭は0から始まります。
- 指定する文字列がない場合ValueErrorを返します。
- rindexメソッドを使用すると文字列の末尾から検索します。
- 以下はPython 3.6.x ドキュメントのindexメソッドのリンクです。
https://docs.python.jp/3/library/stdtypes.html#str.index
文字列を検索する
5,7,9行目は、指定した文字列が見つかった位置を返しています。
# coding: utf-8
a = 'あいうえお'
print(a.index('あ')) # 0
print(a.index('い')) # 1
print(a.index('うえ')) # 2
indexメソッドで引数が2つ
2つめの引数は検索を開始する位置です。
5行目の対象の文字列は(うえお)です。引数の文字列(う)が見つかった位置を返しています。
7行目の対象の文字列は(えお)です。引数の文字列(う)が見つからないのでValueErrorを返します。
# coding: utf-8
a = 'あいうえお'
print(a.index('う',2)) # 2
print(a.index('う',3)) #ValueError: substring not found
indexメソッドで引数が3つ
2つめの引数は検索を開始する位置で、3つめの引数は終了の位置です。
5行目の対象の文字列は(うえお)です。引数の文字列(お)が見つかった位置を返しています。
7行目の対象の文字列は(うえ)です。引数の文字列(お)が見つからないのでValueErrorを返します。
# coding: utf-8
a = 'あいうえお'
print(a.index('お',2,5)) # 4
print(a.index('お',2,4)) #ValueError: substring not found
関連の記事
Python 文字列の始め/終わりを確認するサンプル(startswithとendswith)
Python 文字列を区切り文字で分割するサンプル(split)
Python 文字列の大文字と小文字を変換(upper/lower/capitalize/swapcase/title)
Python エスケープシーケンスとraw文字列のサンプル
Python 文字列の先頭と末尾を削除するサンプル(strip)