shouldn't 'string'.find('ugh') return 0, not -1 ?
Carl Banks
pavlovevidence at gmail.com
Wed Oct 31 11:11:04 EDT 2007
On Oct 31, 9:31 am, jelle <jelleferi... at gmail.com> wrote:
> the subject pretty much says it all.
> if I check a string for for a substring, and this substring isn't found,
> should't the .find method return 0 rather than -1?
> this breaks the
>
> if check.find('something'):
> do(somethingElse)
>
> idiom, which is a bit of a pity I think.
string.find has always been kind of a wart in Python; that's why
they're getting rid of it. For testing for the presence of a
substring, use the in operator:
if "something" in check:
do(somethingElse)
When you need the position of a substring, using the index methods:
i = check.index("something")
index returns an exception of the substring is not there, so no need
to worry about what it returns.
Finally, it really won't kill you to do this:
if check.find("something") >= 0:
do(somethingElse)
Carl Banks
More information about the Python-list
mailing list