Jeg leder efter en string.contains
eller string.indexof
-metode i Python.
Jeg ønsker at gøre:
if not somestring.contains("blah"):
continue
Du kan bruge operatoren in
:
if "blah" not in somestring:
continue
Hvis det kun er en søgning efter en delstreng, kan du bruge string.find("substring")
.
Du skal dog være lidt forsigtig med find
, index
og in
, da de er delstrengssøgninger. Med andre ord, dette:
s = "This be a string"
if s.find("is") == -1:
print "No 'is' here!"
else:
print "Found 'is' in the string."
Det ville udskrive Found 'is' in the string.
Tilsvarende ville if "is" in s:
evaluere til True
. Dette er måske eller måske ikke det, du ønsker.
if needle in haystack:
er den normale brug, som @Michael siger -- det er baseret på operatoren in
, som er mere læsbar og hurtigere end et metodekald.
Hvis du virkelig har brug for en metode i stedet for en operatør (f.eks. for at lave en eller anden underlig key=
for en meget mærkelig slags...?), ville det være 'haystack'.__contains__
. Men da dit eksempel er til brug i et if
, så tror jeg ikke du mener det du siger;-). Det er ikke god form (og heller ikke læsbart eller effektivt) at bruge specielle metoder direkte -- de skal i stedet bruges gennem de operatører og builtins der delegerer til dem.