【问题标题】:Python finding bolded text in RTFPython在RTF中查找粗体文本
【发布时间】:2015-06-07 13:10:44
【问题描述】:

我正在处理一个巨大的富文本文件,其中每个条目都以粗体标题开头。将富文本文件导入 Python 并让它在看到粗体文本的任何地方拆分行会非常有帮助。但是,我找不到导入非纯文本的方法,并求助于寻找其他方法来查找粗体文本的开始位置。

有没有办法让 Python 读取粗体文本的位置?

【问题讨论】:

    标签: python string rtf richtext


    【解决方案1】:

    不,不容易。当然不在 StackOverflow 答案的范围内。

    问题在于 RTF 是一种专有格式,具有描述该格式的特殊“语法”。

    有些库会尝试读取它,如下所述:Is there a Python module for converting RTF to plain text?

    但是,即使其中一个会为您阅读文本,也不太可能告诉您格式。毕竟,它会如何告诉你?

    您最好的选择可能是找到一个 RTF 到 HTML 转换器(在我指出的问题中至少提到了一个),然后使用 BeautifulSoup 来查找加粗的 HTML 元素。

    【讨论】:

      【解决方案2】:

      根据Wikipedia...

      {\rtf1\ansi{\fonttbl\f0\fswiss Helvetica;}\f0\pard
      This is some {\b bold} text.\par
      }
      

      如果你想拆分成新的行,我想你可以做.replace('{\\b ', '\n') 并且大部分时间都在那里。如果您还想删除另一个 },请切换到正则表达式替换

      【讨论】:

      • rtf 粗体语句也可以采用 This is some \b bold\b0 text. 的形式,因此根据生成此特定 rtf 的内容,您可能会错过部分或全部粗体标题。
      猜你喜欢
      • 1970-01-01
      • 2016-03-18
      • 2022-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多