PYTHON strpos

is this article helpful?
|
Python replacement for PHP's strpos [ edit | history ]
# 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

PHP strpos

PHP original manual for strpos [ show | php.net ]

strpos

(PHP 4, PHP 5)

strposFind position of first occurrence of a string

Description

int strpos ( string $haystack , mixed $needle [, int $offset= 0 ] )

Returns the numeric position of the first occurrence of needle in the haystack string. Unlike the strrpos() before PHP 5, this function can take a full string as the needle parameter and the entire string will be used.

Parameters

haystack

The string to search in

needle

If needle is not a string, it is converted to an integer and applied as the ordinal value of a character.

offset

The optional offset parameter allows you to specify which character in haystack to start searching. The position returned is still relative to the beginning of haystack .

Return Values

Returns the position as an integer. If needle is not found, strpos() will return boolean FALSE.

Warning

This function may return Boolean FALSE, but may also return a non-Boolean value which evaluates to FALSE, such as 0 or "". Please read the section on Booleans for more information. Use the === operator for testing the return value of this function.

Examples

Example #1 Using ===

<?php
$mystring 
'abc';
$findme   'a';
$pos strpos($mystring$findme);

// Note our use of ===.  Simply == would not work as expected
// because the position of 'a' was the 0th (first) character.
if ($pos === false) {
    echo 
"The string '$findme' was not found in the string '$mystring'";
} else {
    echo 
"The string '$findme' was found in the string '$mystring'";
    echo 
" and exists at position $pos";
}
?>

Example #2 Using !==

<?php
$mystring 
'abc';
$findme   'a';
$pos strpos($mystring$findme);

// The !== operator can also be used.  Using != would not work as expected
// because the position of 'a' is 0. The statement (0 != false) evaluates 
// to false.
if ($pos !== false) {
     echo 
"The string '$findme' was found in the string '$mystring'";
         echo 
" and exists at position $pos";
} else {
     echo 
"The string '$findme' was not found in the string '$mystring'";
}
?>

Example #3 Using an offset

<?php
// We can search for the character, ignoring anything before the offset
$newstring 'abcdef abcdef';
$pos strpos($newstring'a'1); // $pos = 7, not 0
?>

Notes

Note: This function is binary-safe.

See Also

  • strrpos() - Find position of last occurrence of a char in a string
  • stripos() - Find position of first occurrence of a case-insensitive string
  • strripos() - Find position of last occurrence of a case-insensitive string in a string
  • strrchr() - Find the last occurrence of a character in a string
  • substr() - Return part of a string
  • stristr() - Case-insensitive strstr
  • strstr() - Find first occurrence of a string