使用 c# 从 RTF 中删除所有超链接和表

本文关键字:超链接 删除 RTF 使用 | 更新日期: 2023-09-27 18:33:38

我有一个Winform RichTextBox,我正在以编程方式将RTF文档加载到其中。但是我想在将 RTF 加载到 RichTextBox 之前从 RTF 中删除/删除所有超链接和表格(但需要保持格式)。对于从MS Word复制的RTF文本,我也需要相同的行为。我该如何实现这一点?是否有任何库可以解析 RTF 并剥离超链接和表格(仍保持格式)?

使用 c# 从 RTF 中删除所有超链接和表

一种方法是检查它们的 rtf 格式并使用正则表达式删除它们。

编辑:例如,您可以对超链接使用类似以下内容:

Regex rHyperlink = new Regex(@"{''field{'''*''fldinst{HYPERLINK [^}]+}}{''fldrslt{(?:''cf'd+)?(?:''ul)?([^}]+)}}}");
richTextBox1.Rtf = rHyperlink.Replace(richTextBox1.Rtf, "$1");