Ros*_*nda 0 python string indexing
我需要在给定的字符串中打印上次遇到特定字符时的位置.我该怎么办?即.对于这个字符串"alahambra",我需要找到字母"a"的最后一次出现,所以结果应该是:8.
我试过这段代码,但它并不总是有效:
def find_last(search, target):
first=search.find(search)
last=len(search)
result=search.find(target,last-1)
return result
Run Code Online (Sandbox Code Playgroud)
例子:
print find_last('aaaaa','aa')
应该打印3,它打印-1而不是,这是错误的!
print find_last('aaaa','b')
应该打印-1,它打印-1,这是正确的.
print find_last("111111111","1")
应打印8,打印8,这是正确的.
print find_last("222222222","")
应该打印9,而它打印8,而不是!
print find_last("","3")
应该打印-1,它打印-1,这是正确的.
print find_last("","")
应该打印0,它打印0,这是正确的.
我的代码有什么问题,我该如何更改?谢谢!
>>> "alahambra".rindex('a')
8
>>>
Run Code Online (Sandbox Code Playgroud)
如果找不到子字符串,这将引发错误.rfind在这种情况下,使用将返回-1.
>>> "alahambra".rfind('a')
8
>>>
>>> ''.rfind('b')
-1
>>>
Run Code Online (Sandbox Code Playgroud)