2016-03-04 148 views
1

我们都知道如何在字符串中找到第一个目标字符串。如何通过Python找到字符串中最后一个目标字符串?

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') 

我知道这真的很愚蠢......有人能告诉我该怎么做聪明吗?

非常感谢。 :)

回答

4

使用str.rindex

s = 'abcabc' 
s.rindex('abc') # evaluates to 3 
+1

噢,我的上帝......我以前不知道这个方便的功能!非常感谢你! –

+1

@MarsLee :)很高兴帮助 – Alex

1

您也可以使用Python regex library,如果需要的话,这将提供更多的功能。

在你的情况,你可以简单地做:

import re 
s = 'abcabc' 
[i.start() for i in re.finditer('abc', s)][-1] #last index from all match indices 
+0

这种方法很酷!我也在努力研究Regex。谢谢你给我一个新的想法!我会upvote你:) –

相关问题