0

で奇妙な問題が発生してい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。「Smith、Jon」のハードコードされた値に変更p.strip()すると、正常に検出されます。

みんなは何が悪いのか手がかりを持っていますか?

4

1 に答える 1

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)
于 2013-02-18T21:43:41.517 に答える