Skip to content
Related Articles
Open in App
Not now

Related Articles

Python String find() method

Improve Article
Save Article
Like Article
  • Difficulty Level : Basic
  • Last Updated : 31 Jan, 2023
Improve Article
Save Article
Like Article

Python String find() method returns the lowest index or first occurrence of the substring if it is found in a given string. If it is not found, then it returns -1.

Syntax: str_obj.find(sub, start, end)

Parameters: 

  • sub: Substring that needs to be searched in the given string. 
  • start (optional): Starting position where the substring needs to be checked within the string. 
  • end (optional): End position is the index of the last value for the specified range. It is excluded while checking. 

Return:  Returns the lowest index of the substring if it is found in a given string. If it’s not found then it returns -1.

Python String find() method Example

Python3




word = 'geeks for geeks'
print(word.find('for'))


Output:

6

Time Complexity: O(n)

Auxiliary space: O(1)

Note:

  1. If the start and end indexes are not provided then by default it takes 0 and length-1 as starting and ending indexes where ending indexes are not included in our search.
  2. The find() method is similar to index(). The only difference is find() returns -1 if the searched string is not found and index() throws an exception in this case.

Example 1: find() With No start and end Argument

Python3




word = 'geeks for geeks'
 
# returns first occurrence of Substring
result = word.find('geeks')
print("Substring 'geeks' found at index:", result)
 
result = word.find('for')
print("Substring 'for ' found at index:", result)
 
# How to use find()
if word.find('pawan') != -1:
    print("Contains given substring ")
else:
    print("Doesn't contains given substring")


Output:

Substring 'geeks' found at index: 0
Substring 'for ' found at index: 6
Doesn't contains given substring

Time Complexity: O(n)

Auxiliary space: O(1)

Example 2: find() With start and end Arguments

In this example, we have specified start and end arguments of Python String find() method. So that the given substring is searched in the mentioned portion of the original string.

Python3




word = 'geeks for geeks'
 
# Substring is searched in 'eks for geeks'
print(word.find('ge', 2))
 
# Substring is searched in 'eks for geeks'
print(word.find('geeks ', 2))
 
# Substring is searched in 's for g'
print(word.find('g', 4, 10))
 
# Substring is searched in 's for g'
print(word.find('for ', 4, 11))


Output:

10
-1
-1
6

Explanation:

  • In the first statement, the output is 10 as the start value is given which is 2, so the substring is checked from the second index which is ‘eks for geeks’.
  • In the second statement, the start value is given as 2 and the substring is given ‘geeks’, so the index position of ‘geeks’ is 10 but due to the last value is being excluded it will only find ‘geek’ which doesn’t matches with the original string, that is why the output is -1.
  • In the third statement, start value=4, end value=10, and substring = ‘g’ is given, the index position from 4 will be checked for the given substring which is at position 10, which is being excluded as it is the end index.
  • In the fourth statement, start value =4, end value=11, and substring=’for’ is given, the index position from 4 till 11 will be checked for the given substring and the specified substring is present at index 6, so the output is obtained.

My Personal Notes arrow_drop_up
Like Article
Save Article
Related Articles

Start Your Coding Journey Now!