Python 打印以特定单词或字符开头和结尾的文本文件中的句子?

Python 打印以特定单词或字符开头和结尾的文本文件中的句子?,python,Python,如何在文本文件中找到以特定单词开头和结尾的句子,例如以“The”开头和以“u”结尾的句子。我已经试过了 def main(): f=open('D:\\file.txt') print 'The lines that starts with The and Ends with u' for line in f: for j in line.split('.'): if j[0]=='T' and j[1]=='h' and j[2]=='e' and j[

如何在文本文件中找到以特定单词开头和结尾的句子,例如以“The”开头和以“u”结尾的句子。我已经试过了

def main():
  f=open('D:\\file.txt')
  print 'The lines that starts with The and Ends with u'
  for line in f:
     for j in line.split('.'):
         if j[0]=='T' and j[1]=='h' and j[2]=='e' and j[3]==' ' and  j[-1]=='u':
            print j
if __name__ == '__main__':main()
我们可以使用单词比较来代替字符比较吗?

您可以使用和来使用字符串进行比较:

print 'The lines that starts with The and Ends with u'

with open('test.txt') as f:
    for line in f:
        line = line.strip()
        if line.startswith('The') and line.endswith('u'):
            print line

阅读“句子”有几种简单的方法,还有几种更复杂的方法(但它们要好得多,例如NLTK)。 从以下问题中选择您最喜欢的:


在提取完“句子”而不是行之后,您几乎可以使用自己的代码进行比较。

句子通常以某种标点符号结尾,而不是字母:)是的,但鉴于没有示例输入,并且给定的代码打印有关行的消息,您必须做出一些假设。不管怎么说,只要正确地阅读和构造句子/行,使用
startswith
endswith
将解决问题。最好解释一下这是怎么做的。像你这样的答案会自动放在低质量的帖子中,人们必须决定是否删除它们。好的!我不知道。谢谢你让我知道。说明:我已经尝试使用regex找出需求。因此,我已导入re模块以使用正则表达式,然后表达式,\A-表示检查字符串开头是否存在,并且\s是第一个单词后面的空格。(\w+\s)表示后面可以有一系列文本,后面跟空格,+表示至少匹配1个或多个,最后是u\Z,其中\Z表示在字符串末尾查找“u”。
import re

x = 'The lines that starts with The and Ends with u'

print(re.findall(r'\A(The)\s(\w+\s)+u\Z',x))