如何使用python匹配文本文件中的单词?

时间:2011-03-08 04:45:24

标签: python string match text-files

我想搜索并匹配文本文件中的特定单词。

with open('wordlist.txt', 'r') as searchfile:
        for line in searchfile:
            if word in line:
                    print line

此代码甚至返回包含目标词的子串的单词。例如,如果单词是“there”,则搜索返回“there”,“so”,“which”等。

我希望代码只返回包含“there”的行。周期。

5 个答案:

答案 0 :(得分:5)

将该行拆分为令牌:if word in line.split():

答案 1 :(得分:5)

import re

file = open('wordlist.txt', 'r')

for line in file.readlines():
    if re.search('^there$', line, re.I):
        print line

re.search函数扫描字符串line,如果找到第一个参数中定义的正则表达式,则返回true,忽略re.I的大小写。 ^字符表示“行首”,而$字符表示“行尾”。因此,如果搜索函数匹配那里前面有行的开头,并且后面跟着行的末尾,也就是单独隔离,那么搜索函数将只返回true。

答案 2 :(得分:1)

您可以随时使用正则表达式:

import re

with open('wordlist.txt', 'r') as searchfile:
        for line in searchfile:
            if re.search( r'\sthere\s', line, re.M|re.I):
                    print line
  • \sthere\s - 任何空格后跟'there'后跟任意空格
  • re.I - 表示不区分大小写
  • re.M - 在这种情况下并不重要(因为行只有1 \ n)

答案 3 :(得分:0)

你应该使用正则表达式。来自Python文档的regular expression howto可能是一个很好的起点。

答案 4 :(得分:0)

查找re模块(正则表达式)。使用正则表达式进行重新搜索'那里'是你想要的。