我们都知道如何在字符串中找到第一个目标字符串。
string.index('abc')
所以这段代码将帮助我找到'abc'出现在字符串中的第一个地方。
但是,我想知道如何找到最后一个'abc'位置。
我已经想出了一个算法,但它很愚蠢。
1. reverse whole string and 'abc'.
2. temp_Location = string.index('cba')
3. exactly_Location = len(string) - temp_Location - len('cba')
我知道这真的很傻......有人可以告诉我如何聪明地做到这一点吗?
非常感谢。 :)
答案 0 :(得分:4)
s = 'abcabc'
s.rindex('abc') # evaluates to 3
答案 1 :(得分:1)
您还可以使用Python regex library,如果需要,它将提供更多功能。
在您的情况下,您可以这样做:
import re
s = 'abcabc'
[i.start() for i in re.finditer('abc', s)][-1] #last index from all match indices