Python String rfind() Method
Python String rfind() method returns the highest index of the substring if found in the given string. If not found then it returns -1.
Syntax:
str.rfind(sub, start, end)
Parameters:
- sub: It’s the substring that needs to be searched in the given string.
- start: Starting position where the sub needs to be checked within the string.
- end: Ending position where suffix needs to be checked within the string.
Note: If start and end indexes are not provided then, by default it takes 0 and length-1 as starting and ending indexes where ending indexes are not included in our search.
Return:
Returns the highest index of the substring if it is found in the given string; if not found, then it returns -1.
Exception:
ValueError: This error is raised in the case when the argument string is not found in the target string.
Example 1
Python3
# Python program to demonstrate working of rfind()# in whole stringword = 'geeks for geeks' # Returns highest index of the substringresult = word.rfind('geeks')print ("Substring 'geeks' found at index :", result ) result = word.rfind('for')print ("Substring 'for' found at index :", result ) word = 'CatBatSatMatGate' # Returns highest index of the substringresult = word.rfind('ate')print("Substring 'ate' found at index :", result) |
Output:
Substring 'geeks' found at index : 10 Substring 'for' found at index : 6 Substring 'ate' found at index : 13
Example 2
Python3
# Python program to demonstrate working of rfind()# in a sub-stringword = 'geeks for geeks' # Substring is searched in 'eeks for geeks'print(word.rfind('ge', 2)) # Substring is searched in 'eeks for geeks' print(word.rfind('geeks', 2)) # Substring is searched in 'eeks for geeks' print(word.rfind('geeks ', 2)) # Substring is searched in 's for g'print(word.rfind('for ', 4, 11)) |
Output:
10 10 -1 6
Example 3: Practical Application
Useful in string checking. To check if the given substring is present in some string or not.
Python3
# Python program to demonstrate working of rfind()# to search a stringword = 'CatBatSatMatGate' if (word.rfind('Ate') != -1): print ("Contains given substring ")else: print ("Doesn't contains given substring") |
Output:
Doesn't contains given substring


 (2).jpg)
