Python String index()

The Python String index() method is a built-in function that returns the substring’s lowest index (first occurrence) in a given string. If not found, it raises ValueError: substring not found exception.

Syntax

The Syntax of index() method is:

str.index(sub, start, end)

Parameters

The index() method can take three parameters.

  • sub – substring that needs to be searched in the given string.
  • start (optional) – starting position where the substring needs to be searched within the string
  • end (optional) – ending position where the substring needs to be searched within the string
Note: If the start and end indexes are not provided, by default, it takes 0 as the starting index and str.length-1 as the end index

Return Value

The index() method returns an integer value, an index of a substring.

  • If the substring is found in the given string, the index() method will return the index of the first occurrence of the substring.
  • If the substring is not found in the given string, it throws ValueError: substring not found exception.

Difference between index() method and find() method

The index() method is similar to find() method. The only major difference is that the find() method returns -1 if the substring is not found in a given string, whereas the index() method will raise the ValueError: substring not found exception.

Example 1: Find the index of a string in Python

The index in Python starts from 0 and not from 1. Hence in the below example, the first occurrence of the substring ‘Code‘ is found at index position 5.

text = 'ItsMyCode - Learn how to Code in Python '

# find the index of first occurence of substring
output = text.index('Code')
print("The index of first occurrence of 'Code' is:", output)

# find the index of character
output = text.index('-')
print("The index of first occurrence of '-' is:", output)

Output

The index of first occurrence of 'Code' is: 5
The index of first occurrence of '-' is: 10

Example 2: index() method if the string

Here the substring ‘Hello’ is not found in the given string and hence Python interpreter raises ValueError: substring not found exception.

text = 'ItsMyCode - Learn how to Code in Python '

# find the index of first occurence of substring
output = text.index('Hello')
print("The index of first occurrence of 'Hello' is:", output)

Output

Traceback (most recent call last):
  File "C:\Personal\IJS\Code\main.py", line 4, in <module>
    output = text.index('Hello')
ValueError: substring not found

Example 3: index() method using start and end arguments

text = 'ItsMyCode - Learn how to Code in Python '

# find the index of first occurence of substring 'Code'
output = text.index('Code', 18)
print("The index of first occurrence of 'Hello' is:", output)

# find the index of character '-'
output = text.index('-', 8, 12)
print("The index of first occurrence of '-' is:", output)

# find the index of substring 'to'
output = text.index('to', 18, -6)
print("The index of first occurrence of 'to' is:", output)

Output

The index of first occurrence of 'Hello' is: 25
The index of first occurrence of '-' is: 10
The index of first occurrence of 'to' is: 22
Leave a Reply

Your email address will not be published. Required fields are marked *

Sign Up for Our Newsletters

Subscribe to get notified of the latest articles. We will never spam you. Be a part of our ever-growing community.

You May Also Like