How to get the position of a character in Python?
There are two string methods for this, find()
and index()
. The difference between the two is what happens when the search string isn't found. find()
returns -1
and index()
raises ValueError
.
Using find()
>>> myString = 'Position of a character'>>> myString.find('s')2>>> myString.find('x')-1
Using 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
From the Python manual
string.find(s, sub[, start[, end]])
Return the lowest index in s where the substring sub is found such that sub is wholly contained ins[start:end]
. Return-1
on failure. Defaults for start and end and interpretation of negative values is the same as for slices.
And:
string.index(s, sub[, start[, end]])
Likefind()
but raiseValueError
when the substring is not found.