J'ai une erreur lorsque j'essaie d'utiliser contain en python.
s = u"some utf8 words"
k = u"one utf8 Word"
if s.contains(k):
print "contains"
Comment obtenir le même résultat?
Exemple avec une chaîne normale ASCII
s = "haha i am going home"
k = "haha"
if s.contains(k):
print "contains"
J'utilise python 2.7.x
De même pour les chaînes ascii et utf8:
if k in s:
print "contains"
Il n'y a pas de contains()
sur les chaînes ascii ou uft8:
>>> "strrtinggg".contains
AttributeError: 'str' object has no attribute 'contains'
Ce que vous pouvez utiliser à la place de contains
est find
ou index
:
if k.find(s) > -1:
print "contains"
ou
try:
k.index(s)
except ValueError:
pass # ValueError: substring not found
else:
print "contains"
Mais bien sûr, l'opérateur in
est le chemin à parcourir, il est beaucoup plus élégant.
Il n'y a pas de différence entre str
et unicode
.
print u"ábc" in u"some ábc"
print "abc" in "some abc"
est fondamentalement la même.
Les chaînes n'ont pas d'attribut "contain".
s = "haha i am going home"
s_new = s.split(' ')
k = "haha"
if k in s_new:
print "contains"
Je suppose que tu veux y arriver