The `index()`

function is used to perform string search operation in a given array of strings. If we have an array of strings then this function will provide the first index of any substring to be searched, if it is present in the array elements.

- This function is similar to the Numpy find() function but the only difference, between
`index()`

and`find()`

function is that if the**substring is not found for any string**then the`index()`

**function**will raise a**value error exception**. - This function calls
`str.index`

for each element of the given array.

### Syntax of `index()`

:

The syntax required to use this function is as follows:

`numpy.char.index(a, sub, start=0, end=None)`

The above syntax indicates that `index()`

function takes 4 parameters as shown above.

**Parameters:**

Let us now discuss the parameters of this function:

**a**

This parameter indicates an array either of strings or Unicode.**sub**

This parameter indicates the substring which is to be searched.**start**

This is an**optional**parameter indicating the starting index from where the substring should be searched.**end**

This is an optional parameter indicating the ending index upto where the substring should be searched.

**Returned Values:**

This function will return an output array of integer values with the index values for the substring(if found) corresponding to every string element present in the input array. If the **substring is not found** in all the array elements, then this function will **throw a ValueError**.

## Example 1:

Now we will take a look at the code snippet where we want to search a substring that **exists** in the input strings and see the output for the same:

```
import numpy as np
ar = np.array(['bBaBaBb', 'baAbaB', 'abBABba'])
print ("The Input array :\n ", ar)
output = np.char.index(ar, sub ='b')
print ("The Output array:\n", output)
```

Output:

The Input array :

['bBaBaBb' 'baAbaB' 'abBABba']

The Output array:

[0 0 1]

## Example 2:

Below we have the code snippet where we want to search a substring that **does not exist** in the input strings and see the output for the same:

```
import numpy as np
ar = np.array(['bBaBaBb', 'baAbaB', 'abBABba'])
print ("The Input array :\n ", ar)
output = np.char.index(ar, sub ='c')
print ("The Output array:\n", output)
```

Output:

The Input array :

['bBaBaBb' 'baAbaB' 'abBABba']

ValueError: substring not found