字符串中的Python反向查找
我有一个字符串和该字符串的任意索引。我想在索引之前找到子字符串的第一次出现。
一个例子:我想通过使用索引找到第二个索引 str.rfind()
s = "Hello, I am 12! I like plankton but I don't like Baseball."
index = 34 #points to the 't' in 'but'
index_of_2nd_I = s.rfind('I', index)
#returns = 36 and not 16
现在,我希望rfind()返回第二个I的索引(16),但它返回36。在文档中查找后,我发现rfind并不代表反向查找。
我是Python的新手,所以有内置的解决方案来反向查找吗?像使用python
[::-1]魔术来反转字符串并使用find等?还是我必须通过字符串逐个字符地反向迭代char?
-
您的呼叫告诉rfind 开始查看
索引34。您想使用带有字符串,开始和结束的rfind重载。告诉它从字符串(0
)的开头开始,然后停止查看index
:>>> s = "Hello, I am 12! I like plankton but I don't like Baseball." >>> index = 34 #points to the 't' in 'but' >>> index_of_2nd_I = s.rfind('I', 0, index) >>> >>> index_of_2nd_I 16