python - 获取文本标题

标签 python regex file

我正在尝试使用以下代码获取某些文本的标题:

for line in content:
    title = re.search('^Title:(.*)$',line)
    if title:
        return(title.group(1))

对于这些文本

DOCA.TXT:

标题:布朗语料库:A 部分

但是/cc/在七号铁/nn击球/nn他/pps使用/vbd到/接近/vb/在果岭/nn误入/vbd进入/在a/在沙坑/nn和/cc住宿/vbd在/在a/轻微/jj抑郁/nn ./.

结束

DOCB.TXT:

标题:布朗语料库

布朗大学现代美国英语标准语料库(或简称布朗语料库)已编译...

一些我如何只能获得 DOCB.TXT 的标题,但不能获得 DOCA.TXT (它显示“无”)

最佳答案

下面的内容对我有用,也许你需要在十六进制编辑器中查看你的文件 - 如果你不告诉Python如何打开文件来处理,可能是行尾问题或unicode字节顺序标记那个。

#!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')

当然,这不适用于 asciiiso8859-1utf-8 编码文件,因此您需要确保所有文本文件都采用相同的编码,或为每个文本文件选择正确的编码。

关于python - 获取文本标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33882402/

相关文章:

regex - 按第二列中的时间戳合并多个日志文件

java - 用匹配的正则表达式的一部分替换字符串

linux - 如何在linux bash或python中检查两个文件是否在同一物理硬盘中?

java - 比创建文件列表更好的文件搜索算法

c++ - 截断或调整文件大小以修改其结尾

python - 如何从 ctype 结构构建 python 字符串?

python - django翻译无法解码

python - 如何使用分类焦点损失使用 keras 进行一次热编码?

字符串中的java参数替换

python - 连续小波变换与 Scipy.signal (Python) : what is parameter “widths” in cwt() function? (time-frequency)