[英]Searching for lines with a specific word
我需要在每一行搜索一個特定的單詞。 如果我找到它,請將其放入列表中。
例如,我下面有幾行,我在尋找字符串'TTT'。
TTT ogkgkgk yyryryr
ghgh TTTXXX fgfgfgf
gfgf ghghgTTT fgfgf
只有第一行應該匹配,因為它包含確切的單詞“ TTT”。 如果我在下面使用以下內容,由於“ TTTXXX”和“ ghghgTTT”都包含“ TTT”,因此它將與其他兩行匹配。
mystring = str([line for line in common.split('\n') if 'TTT' in line])
我如何只匹配第一行?
只需將列表理解中的if
檢查更改為if 'TTT' in line.split()
:
[line for line in common.split('\n') if 'TTT' in line.split()]
這將在空白上拆分行,因此如果TTT
與行的每個其他塊分隔至少一個空格字符'TTT' in line.split()
將為真。
我將使用帶有單詞邊界的正則表達式:
import re
mystring = str([line for line in common.split('\n') if re.search(r'\bTTT\b', line)])
有關詳細信息,請參閱http://docs.python.org/2/howto/regex.html 。
一個正則表達式應該做的伎倆!
import re
mystring = str([line for line in common.split('\n') if re.search(r"^(.*\s)*TTT(\s.*)$", line)])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.