The index() method returns the index of a substring inside the string (if found). If the substring is not found, it raises an exception.
Example
text = 'Python is fun'
# find the index of is
result = text.index('is')
print(result)
# Output: 7
index() Syntax
It's syntax is:
str.index(sub[, start[, end]] )
index() Parameters
The index() method takes three parameters:
- sub - substring to be searched in the string str.
- start and end(optional) - substring is searched within str[start:end]
index() Return Value
- If substring exists inside the string, it returns the lowest index in the string where substring is found.
- If substring doesn't exist inside the string, it raises a ValueError exception.
The index() method is similar to the find() method for strings.
The only difference is that find() method returns -1 if the substring is not found, whereas index() throws an exception.
Example 1: index() With Substring argument Only
sentence = 'Python programming is fun.'
result = sentence.index('is fun')
print("Substring 'is fun':", result)
result = sentence.index('Java')
print("Substring 'Java':", result)
Output
Substring 'is fun': 19
Traceback (most recent call last):
  File "<string>", line 6, in 
    result = sentence.index('Java')
ValueError: substring not found
Note: Index in Python starts from 0 and not 1. So the occurrence is 19 and not 20.
Example 2: index() With start and end Arguments
sentence = 'Python programming is fun.'
# Substring is searched in 'gramming is fun.'
print(sentence.index('ing', 10))
# Substring is searched in 'gramming is '
print(sentence.index('g is', 10, -4))
# Substring is searched in 'programming'
print(sentence.index('fun', 7, 18))
Output
15
17
Traceback (most recent call last):
  File "<string>", line 10, in 
    print(quote.index('fun', 7, 18))
ValueError: substring not found
Also Read: