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

时间:2013-10-03 09:55:20

标签: c# winforms richtextbox rtf

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

1 个答案:

答案 0 :(得分:1)

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

修改 例如,您可以使用类似这样的超链接:

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