【Python】文字列(String)の位置をindex()で取得する!
Pythonのindex()を使用すると、文字列(String)の位置を取得することができます。
index()とは指定した文字列の位置をインデックスで返すメソッドであり、文字列に対して使用すると、指定した文字列が検索対象である文字列のどの位置にあるかを先頭(0がスタート)から数えたインデックスで取得します。
また、index()のパラメータに、検索の開始位置や検索の終了位置を指定すると検索する範囲を設定してその範囲にある文字列のインデックスを取得することができます。
今回はPythonのindex()で文字列(String)の位置を取得する方法について以下の内容で解説していきます。
⚫︎ 検索開始を先頭に設定して文字列の位置を取得する場合
⚫︎ 検索の開始位置を設定して文字列の位置を取得する場合
⚫︎ 検索の開始位置と終了位置を設定して文字列の位置を取得する場合
⚫︎ 検索した文字列が含まれていない場合
目次
index()とは
index()とは、指定した文字列に対して、文字列のどの位置にあるかを先頭から(0からスタート)のインデックスで返すメソッドとなります。
本来、index()はリストやタプルの要素のインデックスを返すこともできます。
もし、index()でリストなどの要素のインデックスを取得する方法について詳しく知りたい場合はこちらをご参考ください。
index()の書き方
index()の書き方は下記となります。
1 |
文字列.index('検索する文字列' [, '検索の開始位置', '検索の終了位置']) |
index()のパラメータ
⚫︎ 検索する文字列:
インデックスを検索したい文字列を指定する
⚫︎ 検索の開始位置:
検索の開始位置をインデックスで指定する
(0からスタート)
⚫︎ 検索の終了位置:
検索の終了位置をインデックスで指定する
index()に検索する文字列を指定することで、指定した文字列が文字列のどの位置にあるかをインデックスで返します。
また、idnex()のパラメータに続けて検索の開始位置や検索の終了位置を指定すると、検索する範囲を設定し、その範囲文字列をインデックスで返します。
指定した文字列の位置を取得するサンプルコード
指定した文字列の位置を取得するサンプルコードを紹介します。
検索開始を先頭に設定して文字列の位置を取得する場合
index()で検索開始を先頭に設定して文字列の位置を取得してみます。
例
1 2 3 4 5 6 7 |
text = 'index()でこの文字列の位置を取得する' print(text) char_index = text.index('文字') print('・index()で指定した文字列の位置を取得する') print('「文字」の位置:', char_index) |
出力結果
index()でこの文字列の位置を取得する
・index()で指定した文字列の位置を取得する
「文字」の位置: 10
index()で検索開始を先頭に設定して文字列の位置を取得しています。
その為、「文字」という位置は11番目にありますのでインデックスとしては「10」が表示されます。
検索の開始位置を設定して文字列の位置を取得する場合
index()で検索の開始位置を設定して文字列の位置を取得してみます。
例
1 2 3 4 5 6 7 |
text = 'index()でこの文字列の位置を取得する' print(text) char_index = text.index('位置', 10) print('・index()で指定した文字列の位置を取得する') print('「位置」の位置:', char_index) |
出力結果
index()でこの文字列の位置を取得する
・index()で指定した文字列の位置を取得する
「位置」の位置: 14
index()で検索の開始位置を設定して文字列の位置を取得しています。
その為、「位置」という位置:は15番目にありますのでインデックスとしては「14」が表示されます。
検索の開始位置と終了位置を設定して文字列の位置を取得する場合
index()で検索の開始位置と終了位置を設定して文字列の位置を取得してみます。
例
1 2 3 4 5 6 7 |
text = 'index()でこの文字列の位置をインデックスで取得する(文字列や文字)' print(text) char_index = text.index('文字', 15, 33) print('・index()で指定した文字列の位置を取得する') print('「文字」の位置:', char_index) |
出力結果
index()でこの文字列の位置をインデックスで取得する(文字列や文字)
・index()で指定した文字列の位置を取得する
「文字」の位置: 29
index()で検索の開始位置を設定して文字列の位置を取得しています。
インデックスを15〜33で範囲設定し、「文字」という位置は30番目にありますのでインデックスとしては「29」が表示されます。
検索した文字列が含まれていない場合
index()で検索した文字列が含まれていない場合でインデックスを取得してみます。
例
1 2 3 4 5 6 7 |
text = 'index()でこの文字列の位置をインデックスで取得する' print(text) char_index = text.index('水', 15, 33) print('・index()で指定した文字列の位置を取得する') print('「水」の位置:', char_index) |
出力結果
ValueError: substring not found
検索した文字列が含まれていない場合はエラーが発生します。
今回のポイント
index()で文字列の位置を取得
Pythonで文字列の位置を取得するにはindex()を使用する。
⚫︎ index()には検索する文字列というパラメータを指定する
(他にも、検索の開始位置や検索の終了位置を指定することで検索範囲を設定することができる)
⚫︎ 検索開始を先頭に設定して文字列の位置を取得するには、
⚫︎ 検索の開始位置を設定して文字列の位置を取得するには、index()のパラメータに検索の開始位置を指定する
⚫︎ 検索の開始位置と終了位置を設定して文字列の位置を取得するには、index()のパラメータに検索の開始位置と検索の終了位置を指定する
⚫︎ 検索した文字列が含まれていない場合は、index()はエラーが発生する
関連記事
Pythonのfind()で文字列の位置を取得する方法についてはこちらをご参考ください。
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。