【问题标题】:Remove all hyperlinks and tables from RTF using c#使用 c# 从 RTF 中删除所有超链接和表格
【发布时间】:2013-10-03 09:55:20
【问题描述】:
我有一个 Winform RichTextBox,我正在以编程方式向其中加载 RTF 文档。但我想在将 RTF 加载到 RichTextBox 之前从 RTF 中剥离/删除所有超链接和表格(但需要保留格式)。对于从 MS Word 复制的 RTF 文本,我也需要同样的行为。
我如何做到这一点?是否有任何库可以解析 RTF 并去除超链接和表格(仍保留格式)?
【问题讨论】:
标签:
c#
winforms
richtextbox
rtf
【解决方案1】:
一种方法是检查它们的 rtf 格式并使用正则表达式将其删除。
编辑:
例如,您可以将这样的内容用于超链接:
Regex rHyperlink = new Regex(@"{\\field{\\\*\\fldinst{HYPERLINK [^}]+}}{\\fldrslt{(?:\\cf\d+)?(?:\\ul)?([^}]+)}}}");
richTextBox1.Rtf = rHyperlink.Replace(richTextBox1.Rtf, "$1");