2013-06-17 12 views
9

Co to jest równoważne z Pythona:

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

http://stackoverflow.com/questions/674764/examples-for-string-find-in-python Zapraszamy do przepełnienia stosu, skorzystaj z wyszukiwania następnym razem! – casraf

+0

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

+0

Dzięki za szybką odpowiedź ninja. Jednak otrzymuję ten błąd podczas korzystania .find: AttributeError: 'list' obiekt nie ma atrybutu "znajdź" –

Odpowiedz

27

zwraca -1, gdy nie znaleziono:

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

podnosi ValueError gdy nie znaleziono:

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

po prostu sprawdzić, czy podciąg jest ciągiem, zastosowanie:

needle in haystack 

co jest równoznaczne z następującym PHP:

strpos(haystack, needle) !== FALSE 

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

+4

\ * cringes przy użyciu terminologii PHP w kodzie Pythona \ * – Tomalak

+0

ok, bardzo dobrze, jak używać tego w instrukcji if? –

+1

'jeśli igła w stogu siana" ... – xdazz

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

To jest dokładnie to, czego używam. Ale pojawia się następujący błąd: AttributeError: obiekt 'list' nie ma atrybutu "znajdź" –

+0

Myślę, że przeszukujesz obiekt, a nie ciąg znaków. Jeśli chcesz przeszukać ciąg znaków w obiekcie (w/stringach), powinieneś użyć pętli. Sprawdź to i zaktualizuj do swojego kodu: 'if" to jest ciąg znaków .... wow !!! ". Find (" exam ")! = -1: print" works ";' –

-1

Is pyton jest naprawdę dość, że kod używając "w":

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)) 

ostatnia 2 wydruki robią to samo, wybierasz.

Powiązane problemy