我有一个Winform RichTextBox,我以编程方式加载RTF文档。但是我想在将RTF加载到RichTextBox之前从RTF中删除/删除所有超链接和表(但需要保留格式)。我也需要从MS Word复制的RTF文本的相同行为。 我怎么做到这一点?是否有任何库可以解析RTF并去除超链接和表格(仍保留格式)?
答案 0 :(得分:1)
一种方法是检查他们的rtf格式并用正则表达式删除它们。
修改强> 例如,您可以使用类似这样的超链接:
Regex rHyperlink = new Regex(@"{\\field{\\\*\\fldinst{HYPERLINK [^}]+}}{\\fldrslt{(?:\\cf\d+)?(?:\\ul)?([^}]+)}}}");
richTextBox1.Rtf = rHyperlink.Replace(richTextBox1.Rtf, "$1");