Python String index()
Tags: python, programming, codenewbie, tutorial
Published: 2022-01-25 15:59:02

---
title: Python String index()
published: true
date: 2022-01-22 19:59:41 UTC
tags: #python #programming #codenewbie #tutorial
canonical_url: https://itsmycode.com/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.**

In this article, we will learn about the **Python string `index()`** method with the help of examples.

Also read How to [Add new column to existing DataFrame in Pandas](https://itsmycode.com/adding-new-column-to-existing-dataframe-in-pandas/)


## index() Syntax

The Syntax of **`index()`** method is:

```python 
str.index(sub, start, end)
```

## index() 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
```

## 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 occurence of the substring ‘_Code_‘ is found at index position 5.

```python 
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**

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

## Example 2: If string is not found ValueError: substring not found exception

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

```python 
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**

```python 
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: Python String index() using start and end arguments

```python 
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**

```python 
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
```