我对Python比较陌生,有些事情正在起作用。基本上,当我在字符串上调用str.rfind("test")
时,输出与str.find("test")
相同。最好给我看一个例子:
Python 2.6.5 (r265:79063, May 6 2011, 17:25:59)
[GCC 4.5.0 20100604 [gcc-4_5-branch revision 160292]] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import string
>>> line = "hello what's up"
>>> line.rfind("what")
6
>>> line.find("what")
6
据我了解,
line.find
的值还可以,但是line.rfind
的值应为9
。我是在误解这些功能还是没有很好地使用它们? 最佳答案
我认为您期望rfind
返回"what"
的第一个/最左边匹配项中最右边的字符的索引。它实际上返回"what
“的最后/最右边匹配项中最左边字符的索引。要引用the documentation:
"ab c ab".find("ab")
将是0
,因为最左边的出现在最左端。"ab c ab".rfind("ab")
将是5
,因为最右边的出现是从该索引处开始的。
关于python - 为什么rfind和find在Python 2.6.5中返回相同的值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6674990/