2014-02-24 135 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