簡體   English   中英

搜索具有特定單詞的行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM