2013-06-17 5 views
9

Quel est le python équivalent de:

if (strpos($elem,"text") !== false) { 
    // do_something; 
} 
+4

http://stackoverflow.com/questions/674764/examples-for-string-find-in-python bienvenue pour empiler débordement, s'il vous plaît utiliser la recherche la prochaine fois! – casraf

+0

http://stackoverflow.com/questions/5319922/python-check-if-word-is-in-a-string –

+0

Merci pour votre réponse rapide ninja. Cependant, je reçois cette erreur en utilisant .find: AttributeError: l'objet 'list' n'a pas d'attribut 'find' –

Répondre

27

retourne -1 si introuvable:

pos = haystack.find(needle) 
pos = haystack.find(needle, offset) 

soulève ValueError quand ne se trouve pas:

pos = haystack.index(needle) 
pos = haystack.index(needle, offset) 

Pour tester simplement si une sous-chaîne est une chaîne, utilisez:

needle in haystack 

qui est équivalent au PHP suivant:

strpos(haystack, needle) !== FALSE 

De http://www.php2python.com/wiki/function.strpos/

+4

\ * accuse l'utilisation de la terminologie PHP en code Python \ * – Tomalak

+0

ok, très bien, comment puis-je l'utiliser dans une déclaration if? –

+1

'si l'aiguille dans la botte de foin ... – xdazz

3
if elem.find("text") != -1: 
    do_something 
+0

C'est exactement ce que j'utilise. Mais je reçois l'erreur suivante: AttributeError: l'objet 'list' n'a pas d'attribut 'find' –

+0

Je pense que vous cherchez dans un objet, pas dans une chaîne. Si vous voulez rechercher une chaîne dans un objet (w/chaînes), vous devez utiliser une boucle. Cochez ceci et mettez-le à jour avec votre code: 'if 'ceci est l'exemple de chaîne .... wow !!!". Find ("exam")! = -1: print "works"; ' –

-1

est python est vraiment joli ce code en utilisant "dans":

in_word = 'word' 
sentence = 'I am a sentence that include word' 
if in_word in sentence: 
    print(sentence + 'include:' + word) 
    print('%s include:%s' % (sentence, word)) 

dernier 2 Les impressions font la même chose, vous choisissez.

Questions connexes