Rindex () string in python

File handling | Python Methods and Functions | rindex | String Variables

Syntax :

str.find (sub, start, end)

Parameters:

sub: It's the substring which needs to be searched in the given string.
start: Starting position where sub is needs to be checked within the string.
end: Ending position where suffix is ​​needs to be checked within the string.

NOTE. If no start and end indexes are provided, then it defaults to 0 and length-1 as start and end indices, where end indices are not included in our search.

Return:

Returns the highest index of the substring inside the string if substring is found. Otherwise it raises an exception.

Examples :

 input: text = 'geeks for geeks' result = text.rindex (' geeks ') output: 10 input: text =' geeks for geeks' result = text.rindex ('ge') output: 10 

Errors and exceptions:
ValueError : This error occurs when no argument string is found in the target string.

CODE 1

Output:

 Substring 'geeks': 10 

Code 2

# Python -code to demonstrate how rindex () works

text = ' geeks for geeks'

 

result = text.rindex ( 'geeks' )

print ( "Substring' geeks': " , result)

# Python code to show the error using rindex ()

text = 'geeks for geeks'

  

result = text.rindex ( 'pawan' )

print ( "Substring' pawan': " , result)

Error:

 Traceback (most recent call last): File "/ home / da dc555d90806cae90a29998ea5d6266.py ", line 6, in result = text.rindex (' pawan') ValueError: substring not found 

CODE 3

# Python code to demonstrate how rindex () works
# with the specified range

quote = 'geeks for geeks'

 
# The substring is searched for in & # 39; geeks for geeks & # 39;

print (quote.rindex ( 'ge' , 2 ))

  
# The substring is searched in the range from 0 to 10

print (quote.rindex ( 'geeks' , 0 , 10 ))

Output:

 10 0 




Rindex () string in python: StackOverflow Questions

Answer #1

s = "123123STRINGabcabc"

def find_between( s, first, last ):
    try:
        start = s.index( first ) + len( first )
        end = s.index( last, start )
        return s[start:end]
    except ValueError:
        return ""

def find_between_r( s, first, last ):
    try:
        start = s.rindex( first ) + len( first )
        end = s.rindex( last, start )
        return s[start:end]
    except ValueError:
        return ""


print find_between( s, "123", "abc" )
print find_between_r( s, "123", "abc" )

gives:

123STRING
STRINGabc

I thought it should be noted - depending on what behavior you need, you can mix index and rindex calls or go with one of the above versions (it"s equivalent of regex (.*) and (.*?) groups).