First, Nick's answer is, I think best. But regexes can be tough, and I'm not good with them, so I tend to stay away from them since in my hands they're pretty fragile.
So for what it's worth, here's a short way that doesn't use regexes:
import string
s = "##catgiraffeapluscompscI"
letters_found = [L for L in string.ascii_letters if L in s]
if letters_found:
first_letter_position = min([s.find(L) for L in letters_found])
else:
first_letter_position = -1
print(first_letter_position)
Basically, it makes a list of all the letters in your target (empty if there are none in the target); then for each letter that's present in the target, finds the first location; and takes the smallest of that.
But again, Nick's is better if you're comfortable with regexes.