Python String index() Method (original) (raw)
Last Updated : 02 May, 2025
The index() method in Python is used to find the position of a specified substring within a given string. It is similar to the **find() method but raises a **ValueError if the substring is not found, while **find() returns **-1. This can be helpful when we want to ensure that the substring exists in the string before proceeding. Let’s see a simple use of **index():
Python `
s = "Python programming"
p = s.index("prog") print(p)
`
Explanation: index() method searches for the substring “prog” within “**Python programming” and returns starting index **7.
Syntax of index()
s.index(substring, start=0, end=len(s))
**Parameters:
- **substring: The substring to locate within the string **s.
- **start (optional): The starting index for the search. Defaults to **0 if not provided.
- **end (optional): The ending index for the search. If not provided, it defaults to the length of the string.
**Return Type:
- Returns the lowest index of the substring if found in the given string.
- Raises a **ValueError if the substring is not found in the specified range.
Example of index() Method
Let’s understand the use of index() with the help of some examples.
Example 1: Using index() with only substring argument
This code demonstrates how to find the index of a substring within a string using the index() method.
Python `
s = "Python programming is powerful"
p = s.index("programming") print(p)
`
**Explanation:
- Here, we only provide the substring argument “programming”.
- index() searches from the start of the string and finds “programming” at index 7, which it returns.
Example 2: Using index() with substring, start and end arguments
This code demonstrates how to find the index of a substring within a specific range of a string using the index() method with optional start and end parameters.
Python `
s = "Python programming is fun"
p = s.index("is", 10, 25) print(p)
`
**Explanation:
- We specify start=10 and **end=25, so **index() searches between these positions.
- It finds “**is” at index **18 within this range and returns **18.
**Related Articles: