Pythonには文字列内の特定の文字や部分文字列の最初の出現位置を取得するためのindex()
メソッドがあります。このメソッドは、指定した値が見つからない場合には例外を発生させます。
txt = "Hello, welcome to my world."
x = txt.index("welcome")
print(x) # 出力: 7
上記の例では、文字列"Hello, welcome to my world."
の中で"welcome"
が最初に出現する位置を取得しています。
また、index()
メソッドはfind()
メソッドとほぼ同じですが、find()
メソッドは値が見つからない場合に-1を返すという違いがあります。
print(txt.find("q")) # 出力: -1
print(txt.index("q")) # ValueError: substring not found
上記の例では、文字列"Hello, welcome to my world."
の中で"q"
が最初に出現する位置を取得しようとしています。しかし、"q"
はこの文字列に存在しないため、find()
メソッドは-1を返し、index()
メソッドはValueError
を発生させます。
index()
メソッドは、開始位置と終了位置を指定することも可能です。これにより、検索範囲を制限することができます。
x = txt.index("e", 5, 10)
print(x) # 出力: 7
上記の例では、文字列"Hello, welcome to my world."
の5文字目から10文字目までの範囲で"e"
が最初に出現する位置を取得しています。
以上がPythonのindex()
メソッドの基本的な使い方です。このメソッドを使うことで、文字列内の特定の文字や部分文字列の位置を簡単に取得することができます。ただし、指定した値が文字列に存在しない場合には例外が発生するため、その点は注意が必要です。