【问题标题】:python string.find() method does not take keyword arguments [duplicate]python string.find() 方法不接受关键字参数[重复]
【发布时间】:2013-12-19 16:36:54
【问题描述】:

我遇到了 Python string.find() 方法的问题。这种方式似乎工作得很好:

 p = mystr.find('id=')

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

但是,当我尝试将格式与其他参数一起使用时,例如:

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

它报告:find() not take keyword arguments

我不确定这里发生了什么。

【问题讨论】:

  • 谢谢@Robᵩ,但我不敢苟同。我问这个问题是因为在任何其他问题中都没有直接的解决方案。这个问题的答案比较有用吧?
  • 旁白:你的标题不正确。 string.find() 确实采用关键字参数,正如您自己的答案所示。 str.find() 正如问题所指出的那样接受关键字参数。
  • 感谢您指出这一点。

标签: python string find


【解决方案1】:

不要用start,直接这样给p+3

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

例如,

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

将打印3

【讨论】:

    【解决方案2】:

    我没有发现哪里出错了,但是我找到了解决这个问题的方法:-)

    只需以另一种方式使用 find(),例如:

     import string as st
     p2 = st.find(mystr, 'id=', start=p+3)
    

    效果很好:-)

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-03
    • 2018-07-24
    • 2021-10-10
    • 2015-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-01
    相关资源
    最近更新 更多