我试图用下面的代码来获得一些文本的标题:
for line in content:
title = re.search('^Title:(.*)$',line)
if title:
return(title.group(1))对于这些文本
DOCA.TXT:
标题:布朗语料库:A部分
但/抄送铁/nn射击/nn/pps使用/vbd/接近/vb/在绿色/nn偏离/vbd进入/在一个/在掩体/nn和/cc/vbd在/jj抑郁症/nn ./。
结束
DOCB.TXT:
标题:棕色语料库
今天美国英语的布朗大学标准语料库(或者仅仅是布朗语料库)是被编成的.
有些方法我只能得到DOCB.TXT的标题,而不是DOCA.TXT (它显示了“无”)
发布于 2015-11-23 23:08:58
下面的内容适用于我,也许您需要在十六进制编辑器中查看您的文件--可能是行尾问题或unicode字节顺序标记,如果您没有告诉Python如何打开该文件来处理的话。
#!python3.4
import re
for fn in ('a.txt','b.txt'):
with open(fn) as fin:
for line in fin.readlines():
title = re.search('^Title:(.*)$',line)
if title:
print(title.group(1))要用BOM文件打开UTF-16,可以使用以下内容:open(fn,encoding='utf-16')
当然,这不适用于ascii、iso8859-1或utf-8编码的文件,因此您需要确保所有文本文件都在相同的编码中,或者为每个文本文件选择正确的编码。
https://stackoverflow.com/questions/33882402
复制相似问题