string.find无法使用list

时间:2013-02-18 21:27:19

标签: python python-3.x

查看string.find的一个奇怪问题。

我有以下列表:

lstofpro = ["Brown, John", "Smith,Jon"]
keywordstring = "Something: Smith,Jon Account Number: 99999"

for p in lstofpro:
    if keywordstring.find(p.strip()) != -1:
        print ("Found a match for : %s" % p)

即使keyworstring中存在该值,上述内容也找不到匹配成功。如果我将p.strip()更改为“Smith,Jon”的硬编码值,则会成功找到它。

伙计们有什么可能出错的线索?

1 个答案:

答案 0 :(得分:1)

是否有理由不能使用“in”运算符?我用这样的方法尝试了你的算法并得到了预期的结果:

lstofpro = ["Brown, John", "Smith,Jon"]
keywordstring = "Something: Smith,Jon Account Number: 99999"

for p in lstofpro:
   if p in keywordstring:
      print ("Found a match for : %s" % p)