如何使用Python从文本文件中剥离SGML标记?

时间:2016-11-10 16:14:46

标签: python regex unicode beautifulsoup sgml

我最近遇到了Standard Generalized Markup Language。我从EMILLE/CIIL Corpus获得了SGML格式的语料库。这是该语料库的文档:

EMILLE Corpus Documentation

我想只提取文件中的文本。文档中语料库的编码和标记信息是:

  

文本编码为双字节Unicode文本。有关Unicode的更多信息。   使用1级CES兼容标记在SGML中标记文本。每个文件还包括一个完整的标题,用于指定文本的出处。

我很难剥离这些标签。我尝试了'正则表达'以及'漂亮的汤',但它不起作用。这是示例文本文件。我想保留的语言是旁遮普语。

Sample text file

2 个答案:

答案 0 :(得分:1)

尝试以下方法:

ngOnInit(): void {
    // This is a hack that I don't like - need to find a better way!
    if (this.route.children != null) {
        this.route.children[0].params.forEach((params: Params) => {
            this.id = params['id'];
        });
    }
}

答案 1 :(得分:1)

或 您可以使用简单的正则表达式;如果数据是包含以<开始,以>结束的标签的字符串,则这些标签之间的所有内容都将被丢弃,您可以将多个空格限制为一个并剥离数据。

data = re.sub(r'<.*?>', '', data)
data = re.sub(r'\s+', ' ', data)
data = data.strip()