2009-02-27 156 views
16

我在我的數據庫中有一列以RTF格式保存文本。從RTF文本中獲取純文本

我怎樣才能得到它的純文本,使用C#?

感謝:d

+0

[這是另一個問題](http://stackoverflow.com/questions/188545/regular-expression-for-extracting-text-from-an-rtf-string)討論正則表達式的方式。 – dkretz 2009-02-27 18:09:14

回答

28

Microsoft提供an example,他們基本上固守在RichTextBox的RTF文本,然後閱讀.Text財產......感覺有點缺憾,但它的作品。

static public string ConvertToText(string rtf) 
{ 
    using(RichTextBox rtb = new RichTextBox()) 
    { 
     rtb.Rtf = rtf; 
     return rtb.Text; 
    } 
} 
+1

這總讓我煩惱。另外,您必須在STA線程中執行此操作,這通常會與大多數程序的線程模型混淆。 – Will 2009-02-27 18:07:11

+0

@Will:我沒有聲稱這是最好的方法...... – 2009-02-27 18:12:19

0

如果你想要一個純代碼版本,你可以自己分析rtf,只保留文本位。這是一個工作,但不是非常困難的工作 - RTF文件有一個非常簡單的語法。 Read about it in the RTF spec