搜索带有特定单词的行

2024-10-08 18:28:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要在每行搜索一个特定的单词。如果我找到了,把它列在一张单子上。你知道吗

例如,我在下面有行,我正在寻找一个字符串'TTT'。你知道吗

TTT   ogkgkgk   yyryryr
ghgh  TTTXXX    fgfgfgf
gfgf  ghghgTTT  fgfgf

只有第一行应该匹配,因为它包含确切的单词“TTT”。如果我使用下面的语句,它将匹配其他两行,因为“tttxx”和“ghgttt”都包含“TTT”。你知道吗

mystring = str([line for line in common.split('\n') if 'TTT' in line])

我怎么能只匹配第一行呢?你知道吗


Tags: 字符串inline语句单词单子tttgfgf
3条回答

只需将列表理解中的if检查改为if 'TTT' in line.split()

[line for line in common.split('\n') if 'TTT' in line.split()]

这将在空白处分割行,因此'TTT' in line.split()只有在TTT与行的每个其他块至少用一个空白字符分隔时才为真。你知道吗

我会用regex和单词边界:

 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)])

相关问题 更多 >

    热门问题