使用文件进行字符串比较

时间:2013-08-12 06:37:25

标签: python regex

我有一个文本文件,它包含格式的字符串列表;

  

苹果,

     爸爸,

     妈妈,

     姐姐,

     

兄弟,

     

猫,

我的句子为My dad is a vegetarian。我需要检查我的句子中是否有与文本文件中的文本匹配的文本。

我的代码:

def matchString(t):
    with open("fil.txt") as fle:

        for item in fle:
         if( fle.readlines()== ) # I couldn't code after this point.

我想要做的是检查此文本My dad is a vegetarian中的字符串是否与文件中的任何字符串匹配,之后我想将其打印到控制台。

2 个答案:

答案 0 :(得分:0)

如果你想在单词边界处拆分句子并将这些单词与文件中的单词匹配,可以像

一样简单
for item in fle:
    if item.rstrip(',').strip() in sentence.split():
        # Match
        print item

如果您想对sentence进行子字符串匹配,只需离开.split()即可测试该子字符串是否出现在sentence的任何位置。

答案 1 :(得分:0)

这个怎么样?

import re

s = "My dad is a vegetarian"
words = s.split(" ")
pattern = re.compile('^(%s),?$' % "|".join(words))

with open('input.txt', 'r') as f:
    print [row.rstrip() for row in f if pattern.match(row)]

打印

['dad,']