*Memo:
- My post explains string, bytes and bytearray functions.
str.rfind() and bytes.rfind() or bytearray.rfind() can respectively get the last index of the substring and byte substring matched to sub in the range [start, end) (without error even if the substring and byte substring don't exist respectively) as shown below:
*Memo:
- The 1st argument is
sub(Required-Type:strforstr.rfind()or Bytes-like object andintforbytes.rfind()andbytearray.rfind()):- It's the substring and byte substring of zero or more characters and bytes respectively.
- Don't use
sub=.
- The 2nd argument is
start(Optional-Default:None-Type:int/NoneType):- It's a start index.
- If it's
None, the 1st index is set. - Don't use
start.
- The 3rd argument is
end(Optional-Default:None-Type:int/NoneType):- It's an end index.
- If it's
None, the string and bytes or bytearray length are set to it respectively. - Don't use
end.
-
-1is returned ifsubdoesn't exist. -
startandendcan be signed indices(zero and positive and negative indices). - Error doesn't occur even if
[start, end)is out of the range[The 1st index, The string and bytes or bytearray length).
<String>:
v = 'grapes peach'
print(v.rfind('pe')) # 7
print(v.rfind('pe', None, None)) # 7
print(v.rfind('pe', -100, 100)) # 7
print(v.rfind('pe', 3)) # 7
print(v.rfind('pe', -9)) # 7
print(v.rfind('pe', 4)) # 7
print(v.rfind('pe', -8)) # 7
print(v.rfind('pe', 7)) # 7
print(v.rfind('pe', -5)) # 7
print(v.rfind('pe', 0, 5)) # 3
print(v.rfind('pe', -12, -7)) # 3
print(v.rfind('pe', 7, 12)) # 7
print(v.rfind('pe', -5, 12)) # 7
print(v.rfind('')) # 12
print(v.rfind('g', 0, 1)) # 0
print(v.rfind('g', -12, -11)) # 0
print(v.rfind('h', 11, 12)) # 11
print(v.rfind('h', -1, 12)) # 11
print(v.rfind('PE')) # -1
print(v.rfind('pe', 8)) # -1
print(v.rfind('pe', -4)) # -1
print(v.rfind('pe', 0, 4)) # -1
print(v.rfind('pe', -12, -8)) # -1
print(v.rfind('pe', 8, 12)) # -1
print(v.rfind('pe', -4, 12)) # -1
print(v.rfind('abc')) # -1
v = ''
print(v.rfind('')) # 0
<Bytes & Bytearray>:
v = b'grapes peach'
v = bytearray(b'grapes peach')
print(v.rfind(b'pe')) # 7
print(v.rfind(bytearray(b'pe'))) # 7
print(v.rfind(b'pe', None, None)) # 7
print(v.rfind(bytearray(b'pe'), None, None)) # 7
print(v.rfind(b'pe', -100, 100)) # 7
print(v.rfind(bytearray(b'pe'), -100, 100)) # 7
print(v.rfind(b'pe', 3)) # 7
print(v.rfind(bytearray(b'pe'), 3)) # 7
print(v.rfind(b'pe', -9)) # 7
print(v.rfind(bytearray(b'pe'), -9)) # 7
print(v.rfind(b'pe', 4)) # 7
print(v.rfind(bytearray(b'pe'), 4)) # 7
print(v.rfind(b'pe', -8)) # 7
print(v.rfind(bytearray(b'pe'), -8)) # 7
print(v.rfind(b'pe', 7)) # 7
print(v.rfind(bytearray(b'pe'), 7)) # 7
print(v.rfind(b'pe', -5)) # 7
print(v.rfind(bytearray(b'pe'), -5)) # 7
print(v.rfind(b'pe', 0, 5)) # 3
print(v.rfind(bytearray(b'pe'), 0, 5)) # 3
print(v.rfind(b'pe', -12, -7)) # 3
print(v.rfind(bytearray(b'pe'), -12, -7)) # 3
print(v.rfind(b'pe', 7, 12)) # 7
print(v.rfind(bytearray(b'pe'), 7, 12)) # 7
print(v.rfind(b'pe', -5, 12)) # 7
print(v.rfind(bytearray(b'pe'), -5, 12)) # 7
print(v.rfind(b'')) # 12
print(v.rfind(bytearray(b''))) # 12
print(v.rfind(b'g', 0, 1)) # 0
print(v.rfind(bytearray(b'g'), 0, 1)) # 0
print(v.rfind(ord('g'), 0, 1)) # 0
print(v.rfind(103, 0, 1)) # 0
print(v.rfind(b'g', -12, -11)) # 0
print(v.rfind(bytearray(b'g'), -12, -11)) # 0
print(v.rfind(ord('g'), -12, -11)) # 0
print(v.rfind(103, -12, -11)) # 0
print(v.rfind(b'h', 11, 12)) # 11
print(v.rfind(bytearray(b'h'), 11, 12)) # 11
print(v.rfind(ord('h'), 11, 12)) # 11
print(v.rfind(104, 11, 12)) # 11
print(v.rfind(b'h', -1, 12)) # 11
print(v.rfind(bytearray(b'h'), -1, 12)) # 11
print(v.rfind(ord('h'), -1, 12)) # 11
print(v.rfind(104, -1, 12)) # 11
print(v.rfind(b'PE')) # -1
print(v.rfind(bytearray(b'PE'))) # -1
print(v.rfind(b'pe', 8)) # -1
print(v.rfind(bytearray(b'pe'), 8)) # -1
print(v.rfind(b'pe', -4)) # -1
print(v.rfind(bytearray(b'pe'), -4)) # -1
print(v.rfind(b'pe', 0, 4)) # -1
print(v.rfind(bytearray(b'pe'), 0, 4)) # -1
print(v.rfind(b'pe', -12, -8)) # -1
print(v.rfind(bytearray(b'pe'), -12, -8)) # -1
print(v.rfind(b'pe', 8, 12)) # -1
print(v.rfind(bytearray(b'pe'), 8, 12)) # -1
print(v.rfind(b'pe', -4, 12)) # -1
print(v.rfind(bytearray(b'pe'), -4, 12)) # -1
print(v.rfind(b'abc')) # -1
print(v.rfind(bytearray(b'abc'))) # -1
v = b''
v = bytearray(b'')
print(v.rfind(b'')) # 0
print(v.rfind(bytearray(b''))) # 0
Top comments (0)