2009-02-27 18 views
16

私は自分のデータベース上にRTF形式のテキストを保持する列を持っています。RTFテキストからプレーンテキストを取得

C#を使用してプレーンテキストのみを取得するにはどうすればよいですか?

ありがとう:D

+0

正規表現の方法について説明している[別の質問です](http://stackoverflow.com/questions/188545/regular-expression-for-extracting-text-from-an-rtf-string) – dkretz

答えて

28

Microsoftは、彼らは基本的に.Textプロパティを読み、その後RichTextBoxでRTFテキストを貼りやan exampleを提供しています...それが多少場しのぎに感じるが、それは動作します。あなたは純粋なコードのバージョンが必要な場合

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

これはいつも私に迷惑をかける。さらに、STAスレッドでこれを行う必要があります.STAスレッドは、通常、ほとんどのプログラムのスレッドモデルを使いません。 – Will

+0

@ウィル:私はそれが最善の方法であると主張していませんでした。 –

+0

基本的なRichTextBoxコードを見ていると...複雑な獣なので、使いたいと思うでしょう。 –

0

、あなたはRTFを自分で解析し、テキストのみのビットを維持することができます。これは少し仕事ですが、それほど難しい作業ではありません。RTFファイルは非常に単純な構文です。 Read about it in the RTF spec

+0

ええと、列がある表になるまで:)しかし、単純な太字/斜体の書式設定は簡単です。 – crashmstr

+0

良い点。悪魔の詳細。 –

関連する問題