16

What is the python equivalent of:

if (strpos($elem,"text") !== false) {
    // do_something;  
}
xdazz
  • 158,678
  • 38
  • 247
  • 274
Cosco Tech
  • 565
  • 1
  • 4
  • 22

3 Answers3

40

returns -1 when not found:

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

raises ValueError when not found:

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

To simply test if a substring is in a string, use:

needle in haystack

which is equivalent to the following PHP:

strpos(haystack, needle) !== FALSE

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

xdazz
  • 158,678
  • 38
  • 247
  • 274
4
if elem.find("text") != -1:
    do_something
  • This is exactly what I am using. But i receive the following error:AttributeError: 'list' object has no attribute 'find' – Cosco Tech Jun 17 '13 at 08:47
  • I think you are searching into a object, not into a string. If you want to search a string into a object(w/ strings), you should use a loop. Check this and update it to your code: `if "this is string example....wow!!!".find("exam") != -1: print "works";` – Javier Provecho Fernández Jun 17 '13 at 08:55
  • AttributeError: 'Response' object has no attribute 'find' – Anass Oct 03 '20 at 01:49
0

Is python is really pretty that code using "in":

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

last 2 prints do the same, you choose.