String in Python is an inbuilt object that is represented using
 
  str
 
 keyword. Like other objects string support some built methods and find() is one of those. The Python string
 
  find(sub)
 
 method or function accepts a substring value and return its first occurring index value in the given string. If the substring value is not present in the given string, the Python string
 
  find()
 
 function return -1 value.
Note: In Python, everything is an object, including Python data types. The inbuilt functions associated with data type or structures are known as methods. You can also interchangeably use the term functions and methods. But it is suggested to call the object’s functions as methods .
Python String find() Method Syntax and Parameter
string.find(substring, start, end)
The string find() method can accept three parameters
- substring
 - start
 - end
 
 
  
   Substring:
  
 
 It is a string value which index we want to find out from the given string.
 
  
   start
  
  (optional):
 
 It is an optional parameter and by default, its value is 0. It is an integer number that represent the starting index value of a given string from where the searching of substring should begin.
 
  
   end
  
  (optional):
 
 It is also an optional parameter and by default, its value is equal to the length of the given string. It is an integer value that represents the end index value for the given string up to which the searching for substring should limit. The Python String find() method only return the lowest index value of the given string where it found the sub string. If the given string has multiple substrings, the method will only return the first occurrence.
How to Use Python String find() method Example
 With the help of string
 
  find()
 
 method we can point out the substring starting index value within a given string. The string
 
  find()
 
 method come very useful during string analysis and manipulation.
Python string find() Examples
Example 1
>>> string = "Hello Tech Geek WelCome to TechGeekBuzz.com"
>>> sub = "Tech"
>>> print("The substring", sub, "is at", string.find(sub))
The substring Tech is at 6
 In the above example, you can see that the starting index value of
 
  
   Tech
  
 
 in
 
  
   string
  
 
 is
 
  6
 
 , that’s why the find method returns
 
  6
 
 as an output.
Example 2
>>> string = "Hello Tech Geek WelCome to TechGeekBuzz.com"
>>> sub = "python"
>>> print("The substring", sub, "is at", string.find(sub))
The substring python is at -1
 As
 
  
   sub
  
  
   python
  
 
 is not present in the
 
  
   string,
  
 
 the
 
  find()
 
 method return
 
  -1
 
 .
Example 3
>>> string = "Hello Tech Geek WelCome to TechGeekBuzz.com"
>>> sub = "tech"
>>> print("The substring", sub, "is at", string.find(sub))
The substring tech is at -1
 The
 
  find()
 
 method matches the
 
  substring
 
 each character with the
 
  string
 
 and return the exact index position for the first occurrence. The
 
  find()
 
 method is case sensitive, the case of substring should also match the case of given string else the
 
  find()
 
 method return -1 as no result found.
Example 4
Python string find(start) method with start parameter
>>> string = "Hello Tech Geek WelCome to TechGeekBuzz.com"
>>> sub = "Tech"
>>> print("The substring", sub, "is at", string.find(sub,7))
The substring Tech is at 27
 In this example the
 
  
   find(sub, 7)
  
  ,
 
 method starts searching the
 
  
   Tech
  
 
 substring from the 7
 
  th
 
 index value of the
 
  
   string.
  
 
 That’s why it ignores all the first 6 characters of the
 
  
   string
  
  .
 
Example 5
 Python string
 
  find(start,end)
 
 method with start and end parameters
>>> string = "Hello Tech Geek WelCome to TechGeekBuzz.com"
>>> sub = "Geek"
>>> print("The substring", sub, "is at", string.find(sub,0, 14))
The substring Geek is at -1
 In this example the
 
  
   find(sub, 0,14)
  
  ,
 
 method starts searching the
 
  
   Geek
  
 
 substring from the
 
  0
  
   th
  
 
 index value up to
 
  14
 
 of the
 
  
   string.
  
 
 Although the first occurrence of
 
  Geek
 
 start at
 
  11
 
 but it ends at
 
  15,
 
 and we have specified the
 
  end
 
 parameter to
 
  
   14
  
 
 so the
 
  find()
 
 method is not able to find
 
  Geek
 
 and return
 
  -1
 
 .
Python String rfind() method
 The Python string
 
  rfind()
 
 function is similar to the Python string
 
  find()
 
 function, the only difference is the
 
  find()
 
 return the first occurrence index value and
 
  rfind()
 
 return the last occurrence index value of substring. Apart from this difference both
 
  find()
 
 and
 
  rfind()
 
 methods are pretty same. Both return -1 if the substring is not present in the given string.
Python rfind() syntax
string.rfind(substring, start, end)
Python rfind() method Example:
Example 1
>>> string = "Hello Tech Geek WelCome to TechGeekBuzz.com"
>>> sub = "Geek"
>>> print("The last substring", sub, "is at", string.rfind(sub))
The last substring Geek is at 31
 The last occurrence of
 
  
   Geek
  
 
 start from
 
  31
  
   st
  
 
 index position in
 
  
   TechGeekBuzz.com
  
  .
 
 That’s why
 
  rfind()
 
 method return
 
  
   31
  
  ,
 
 instead of
 
  
   11
  
 
 which is the first
 
  
   Geek
  
 
 substring position.
Example 2
>>> string = "Hello Tech Geek WelCome to TechGeekBuzz.com"
>>> sub = "geek"
>>> print("The last substring", sub, "is at", string.rfind(sub))
The last substring geek is at -1
 Similar to the
 
  find()
 
 method
 
  
   rfind()
  
 
 return -1 if it does not find the substring in the given string.
Python string index() method
 The Python string
 
  index()
 
 method also returns the index value of the first occurrence of the substring. But unlike
 
  find()
 
 method the
 
  index()
 
 method throws an exception or error if the sub string is not present in the given string.
Python string index() method syntax
string.index(substring, start,end)
Python string index() method Examples
Example 1
string = "Hello Tech Geek WelCome to TechGeekBuzz.com"
sub = "Tech"
print("The first occurrence of", sub, "is at", string.index(sub))
print("The first occurrence of", sub, "is at", string.find(sub))
Output
The first occurrence of Tech is at 6
The first occurrence of Tech is at 6
Example 2
string = "Hello Tech Geek WelCome to TechGeekBuzz.com"
sub = "tech"
print("The first occurance of", sub, "is at", string.index(sub))
Output
print("The first occurance of", sub, "is at", string.index(sub))
ValueError: substring not found
Conclusion
 The Python string
 
  find()
 
 method returns the first occurrence index value of the substring. It can accept three parameters
 
  substring, start
 
 and
 
  end.
 
 Similar to the find() method, Python string also supports
 
  rfind()
 
 method which returns the last occurrence index value of the substring in a given string.
 The Python string
 
  index()
 
 method also returns the first occurrence index value of substring, but if the substring is not present in the given string the
 
  index()
 
 method throws the ValueError.
People are also reading: