2014-02-24 86 views
-2

我试图在Python中查找子字符串时遇到了奇怪的情况。我知道我应该使用in运算符。Python子字符串

我的字符串看起来像'([email protected],Name,ext)'。

当我运行这在交互式终端,它开始不匹配:

>>> '([email protected],' in a 
True 
>>> '([email protected], B' in a 
False 

我有完全相同的模式是我提供的文本字符串。我只是好奇,为什么in一旦通过第一个逗号就无法工作?

一个是:

Purpose: foo - bar\n\n Server Admin: ([email protected], a f. g, 6-6405) \n\n App Owner Group: hi\n\n  App Owners: (blah, blah blah, 6-5627)\n     ([email protected], Brian Cody, 6-5624)\n\nNotes for Alerts:\n 
+7

你能告诉我们'a'是什么吗? – mhlester

+1

可能是因为你的字符串'a'不包含'([email protected],B'......(不知道a'的内容是不可能分辨出来的,请注意) – njzk2

+0

@mhlester我加了'a我必须编辑它,因为它有敏感的工作信息,我向你保证,在我的最后,我有我需要在'a'中匹配的确切字符串,我在这里编辑以提供一些虚假信息 – squiguy

回答

0

您提供实际上有([email protected],Brian Cody之间两个空格的字符串。因此,你的第二个表达式将返回False,因为它只寻找一个空间。

+0

天哪运行。原来我提供的文件只有一个空间...所以我得去感谢我同事 – squiguy

+0

@squiguy - 删除“正确答案”复选标记的任何原因? – MattDMo