字符串中的Python反向查找

发布于 2021-01-29 17:19:20

我有一个字符串和该字符串的任意索引。我想在索引之前找到子字符串的第一次出现。

一个例子:我想通过使用索引找到第二个索引 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?

关注者
0
被浏览
145
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您的呼叫告诉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
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看