{

How to get character position(index) in a string python with example


This tutorial explains about character’s position of a given string in Python language. The string is a group of characters enclosed in double quotes. Characters in a string are located with starting index of 0.

For example, Starting character position is 0.

How to Get character position in a String in python?

  • use find() function

String find function checks the given substring position and returns the position if a matching substring is found. Returns -1 if no match is found.

Syntax:

str.find(substring[, start[, end]])¶

Arguments:

  • substring - substring to search in a given string and returns the first occurrence of a string.
  • start and end options are optional, index, For example, start=1 and end=4 take a character from starting position 1 and the end position is equal to 3.

Returns: find() function returns

  • index position if found
  • -1 returned if no matching character/substring in a given string,

This function is case-sensitive.

Here is an example

name="John"

print( name.find('o'))
print( name.find('J'))
print( name.find('j'))

Output:

1
0
-1
  • index() function The string contains an index() function that returns the position or index of a given character in a string.

Syntax:

string.index(charcter[, start[, end]])
```
**Arguments:**
- character - character to search in a given string and returns the first occurrence of a string.
- start and end options are optional, index, For example, start=1 and end=4 take a character from starting position 1 and the end position is equal to 3.

**Returns:**
index() function returns 
- index position if found
- throws `ValueError` if no matching character in a given string, 

This function is case-sensitive.

Here is an example

```python
name="John"

print( name.index('o'))
print( name.index('J'))
print( name.index('j'))
```

```markdown
1
0
Traceback (most recent call last):
  File "a:\work\python\string.py", line 5, in <module>
    print( name.index('j'))
ValueError: substring not found
```

- use for index with string enumerate function

This is the way of finding a position using brute force search.

- String is iterated using enumerate function
- used for loop with index syntax
- check each character and return the index if a matching character is found.

Here is an example
```markdown
name="John"

for index, character in enumerate(name):
   if "J"==character: {
    print(index)
   }
```
```markdown
0
```


## Conclusion

Learned multiple ways to find the position of a character in a string

- index() function
- find() function
- for loop with index syntax

The first approach is better, It checks for matching and nonmatching use cases and return the position of a number, and good in performance compared with other two approaches
the disadvantages with the other are 
- find() method throws ValueError if no match is found.
- For loop iterates all characters in a string in the worst case, so not advisable interms o performance.
THE BEST NEWSLETTER ANYWHERE
Join 6,000 subscribers and get a daily digest of full stack tutorials delivered to your inbox directly.No spam ever. Unsubscribe any time.

Similar Posts
Subscribe
You'll get a notification every time a post gets published here.