str.find()
et str.index()
sont presque identiques. la plus grande différence est que lorsqu'une chaîne n'est pas trouvée, str.index()
renvoie une erreur, comme celle que vous avez, alors que str.find()
renvoie -1 comme d'autres l'ont posté.
Il existe 2 méthodes soeurs appelées str.rfind()
et str.rindex()
qui lancent la recherche depuis la fin de la chaîne et progressent vers le début.
en plus, comme d'autres l'ont déjà montré, l'opérateur in
(ainsi que not in
) sont parfaitement valables aussi bien.
Enfin, si vous essayez de chercher modèles dans les chaînes, vous pouvez envisager des expressions régulières, même si je pense que trop de gens les utilisent quand ils sont trop. dans d'autres (célèbres) mots, "now you have two problems."
c'est tout autant que toutes les infos que j'ai pour le moment. Cependant, si vous apprenez Python et/ou la programmation d'apprentissage, un exercice très utile que je donne à mes élèves est d'essayer de construire dans le code Python *find()
et *index()
vous, ou même in
et not in
(bien que des fonctions). vous aurez une bonne pratique de traverser les cordes, et vous comprendrez mieux comment fonctionnent les méthodes de cordes existantes.
bonne chance!
Ceci est un doublon d'une autre question: http://stackoverflow.com/questions/3437059/does-python-have-a-string-contains- méthode –
une chaîne dans une autre chaîne? tu l'as dit. ceci est python – joaquin
@Anderson: d'accord, il devrait être fermé comme doublon. – lpapp