On Oct 31, 9:31 am, jelle <[EMAIL PROTECTED]> 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
--
http://mail.python.org/mailman/listinfo/python-list