Python String index () and its applications



Search for a string (substring) in the string — it is an application that is used many times in daily life. Python offers this with the index () function, which returns the position of the first occurrence of a substring in a string

  Syntax:  ch.index (ch1, begp, endp)  Parameters:   ch1:  The string to be searched for.  begp (default: 0):  This function specifies the position from where search has to be started.  endp (default: string_len):  This function specifies the position from where search has to end.  Return Value:  Returns the first position of the substring found.  Exception:  Raises ValueError if argument string is not found. 

# Python code to demonstrate how it works
# metric ()

 
# target string initialization

ch = "pythonengineering"

 
# argument string initialization

ch1 = "geeks"

 
# using index () to find the position of the geeks
# starting at the second index
# prints 8

pos = ch.index (ch1, 2 )

 

print ( "The first position of geeks after 2nd index:" , end = "")

print (pos)

Output:

 The first position of geeks after 2nd index : 8 

Exceptions

ValueError: This error occurs when the argument string is not found in the target string.

# Python code to demonstrate the exception
# metric ()

  
# target string initialization

ch = "pythonengineering"

 
# initialize the argument string

ch1 = "gfg"

 
# using index (), to find the position & quot; gfg & quot;
# throws an error

pos = ch.index (ch1)

  

print ( "The first position of gfg is: " , end = " ")

print (pos)

Runtime Error:

 Traceback (most recent call last): File "/home/aa5904420c1c3aa072ede56ead7e26ab.py", line 12, in pos = ch.index (ch1) ValueError: substring not found 

Practical Application: This function is used to extract the suffix or prefix length after or before the target word . The example below shows the total command length in bits derived from AC voltage given the information in the line.

# Python code to demonstrate usage
# metric ()

 
# initializing target strings

voltages = [ "001101 AC" , "0011100 DC" , "0011100 AC" , "001 DC"

 
# initialize the argument string

type = "AC"

 
# initializing the length calculator

sum_bits = 0

 

for i in voltages: 

 

ch = i

 

if (ch [ len (ch) - 2 ]! = `D` ):

  # extracts the length of the bits in a string

bit_len = ch.index ( type ) - 1

 

# adds to total

sum_bits = sum_bits + bit_len

  

print ( "The total bit length of AC is:" , end = "")

print (sum_bits)

Exit :

 The total bit length of AC is: 13