Python で文字列内の文字の位置を取得するにはどうすればよいですか?
ベストアンサー1
find()
これには 2 つの文字列メソッド、と がありますindex()
。この 2 つの違いは、検索文字列が見つからない場合に何が起こるかです。find()
は を返し-1
、index()
を発生させますValueError
。
使用find()
>>> myString = 'Position of a character'
>>> myString.find('s')
2
>>> myString.find('x')
-1
使用index()
>>> myString = 'Position of a character'
>>> myString.index('s')
2
>>> myString.index('x')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: substring not found
からPython マニュアル
string.find(s, sub[, start[, end]])
s内で部分文字列subが見つかった場合の最小のインデックスを返します。この場合、 sub は sに完全に含まれることになります。s[start:end]
失敗した場合は を返します。startとend-1
のデフォルトと負の値の解釈はスライスの場合と同じです。
そして:
string.index(s, sub[, start[, end]])
同様ですfind()
が、ValueError
部分文字列が見つからない場合に例外が発生します。