Python的string.find()方法不接受关键字参数。

4

我在使用Python的string.find()方法时遇到了问题。它似乎可以这样正常工作:

 p = mystr.find('id=')

它可以正确返回第一个匹配项。

但是,当我尝试使用其他参数格式时,比如:

 p2 = mystr.find('id=', start=p+3)

它报告说:find()不接受关键字参数 我不确定这里发生了什么。

谢谢,@Robᵩ,但我不同意。我问这个问题是因为在其他任何问题中都没有直接的解决方案。这个问题的答案更有用,对吧? - Haohan Wang
顺便提一下,你的标题是不正确的。正如你自己的答案所指出的那样,string.find()确实需要关键字参数。而问题所指出的那样,str.find()则不需要关键字参数。 - Robᵩ
谢谢你指出了这一点。 - Haohan Wang
2个回答

2
不要使用"start",直接像这样给出"p+3"。
p2 = mystr.find('id=', p+3)

例如,
p = "id=id=1"
i = p.find("id=")
print p.find("id=", i + 3)

将会输出3


1
我没有找到错误所在,但是我找到了解决这个问题的方法:-)
只需以另一种方式使用find(),例如:
 import string as st
 p2 = st.find(mystr, 'id=', start=p+3)

运行得很好 :-)


1
该函数已被弃用(http://docs.python.org/2/library/string.html#deprecated-string-functions)。 - Ismail Badawi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接