2011-01-12 6 views
1

よりも、HTMLを取り除くが、より少ない以上を残すために、私は次のHTMLデータを含む文字列変数を持っている:VB.NetまたはC#

<p> <em><strong>This is some <span style="background-color: rgb(255, 255, 0);">rich </span>text. 3 < 5 is a valid statement. <br /> </strong></em></p>

私は、HTMLを取り除くことができるようにする必要がありますデータに数学的方程式(文字列の "3 <"のような部分)が含まれている場合には、符号よりも小さくても大きくてもかまいません。私はサイトのいくつかの制限のためにサードパーティのアプリケーション/ツールを使用することができず、.netフレームワークバージョン3.5にあるものを使用することを好みます。私はそれに続く正規表現を試しましたが、以下の/より大きい記号は処理しません。

<[^>]*>
<[^>]+>
<(.|\n)*?>
\<[^\>]*\>

私もthis link上のコードを試してみましたが、それはまたいずれよりも/シンボルよりも大きい小さいを処理しません。

ご意見をいただければ幸いです。

+0

正規表現を最初に提案する人は撮影できますか? – slugster

+0

この特定のケースで私が同意するかどうかわかりません。正規表現でHTMLを解析することは悪い考え(TM)ですが、この場合正規表現に一致するすべてのタグを削除したいと考えています。この場合のHTMLの解析は、文字列を連結するためにツリー全体を走査する必要があるため、迷惑でしょう。ライブラリを解析することができない限り、これは可能ですか? –

答えて

3

どうやらコードが

RegexObj.Replace('<p> <em><strong>This is some <span style="background-color: rgb(255, 255, 0);">rich </span>text. 3 < 5 is a valid statement. <br /> </strong></em></p>', "") 
する必要があります(私はRubular.com上でそれをテストしたが、それはC#あまりにものために働く必要があります。)

(<[^<>]*>)+ 

'' でこの

をすべてのテキストマッチングを交換してください

+0

Davidありがとう!それが私の問題を解決しました。ほんとうにありがとう。 – shakin

+0

+1正規表現を使用しているため、 – slugster

+0

;-Dと動作します。 –

関連する問題