
htmlファイルをtextBoxに読み込んで、その中にあるタグのみを正規表現で削除したいです。
FileStream file = File.Open
( @"c:\test.html", FileMode.Open );
Encoding enc = Encoding.GetEncoding("Shift_JIS");
reader = new StreamReader( file ,enc);
StringBuilder text = new StringBuilder();
while(reader.Peek() != -1)
{
string A = reader.ReadLine().ToString();
A = Regex.Replace(A,@"<(([^>]|\n)*)>","");
text.Append(A);
}
textBox1.Text = text.ToString();
とすると、ある程度のタグは削除できるんですが、<DIV
などの大文字で書かれたタグが削除できませんでした。
解る方いらっしょいましたら宜しくお願いします。

No.1ベストアンサー
- 回答日時:
<DIV ってなってますけど
<DIV
align="center">
みたいに改行が入っているタグでしょうか?
1行ずつでないなら <([^>]|\n)*>で置換できます。
1行ずつやるなら (<[^>]*>|<[^>]*$|^[^<]*>) でしょうかね。
ただし両方ともタグ以外に「<」、「>」が使われていないことを前提にしてますけど・・・
もっといい方法があるかもしれません。
この回答への補足
残ってしまうタグは、<DIV style="MARGIN-LEFT: 1em; TEXT-INDENT: -1em"> や <SPAN style="BACKGROUND: #afafaf"> や <FONT color=red> が残っています。
補足日時:2005/05/25 11:421行ずつ出ない方法で全てのタグが削除されました。
ありがとうございました。後は以外の文が取り除ければ
OKなんですが・・・。
解りましたら宜しくお願いします。
BODY {FONT-FAMILY: ヒラギノ明3-Leaf外字付等幅,"MS P明朝"}B {FONT-FAMILY: ヒラギノ角5-Leaf外字付等幅,"MS Pゴシック"}H2 {FONT-FAMILY: ヒラギノ角5-Leaf外字付等幅,"MS Pゴシック"}.oubun {FONT-FAMILY: Century,Times New Roman,"MS P明朝"}RUBY {WORD-SPACING: -5px}

No.3
- 回答日時:
<style(※)*</style>
※「に</style>を含まない」正規表現を入れる
で置換くらいしか自分には思いつかないです・・・
文字列を含まない正規表現
http://www.axis.t.u-tokyo.ac.jp/~shunak/memo/reg …
きちんとやるにはやはりBLUEPIXYさんの言うようにしなくてはなりませんね。
私は以前にブラウザのタグをすべて取得して属性などの変更をする
ツールを作ったときはMSHTMLを使いました。
VC#のやり方ですけどこちらをどうぞ
http://www.microsoft.com/japan/msdn/academic/Art …
もっと詳しいサイトがあったのですが
そのサイトがどこにあるかわからなくなってしまいました・・・
あと、気になったのですが1行ずつ読み込んで改行コードが消えているので
text.Append(A);の後に
text.Append("\n");を入れたほうがよいと思います。
改行無しでよいならそれでも構わないのですけど。
参考URL:http://www.microsoft.com/japan/msdn/academic/Art …
この回答への補足
A = Regex.Replace(A,@">",">\r\n");
A = Regex.Replace(A,@"<(([^>]|\n)*)>","");
として改行するようにはしてます。"\r\n" としないと改行されないのでこうしてます.
No.2
- 回答日時:
大文字で書かれていることではなくて、
>が来る前に改行しているからだと思います。
タグのパーサをちゃんとしないで質問文のような簡略な方法では、一般的なHTMLではうまくタグを削除することはできないと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
mailto:メール本文内の改行方法
-
Dreamweaverの改行コードをLFに...
-
H1タグに改行の<br>を使う
-
長いURLを途中で改行(折り返す...
-
\\n \\r \\t について
-
ニコニコ動画でアップロードす...
-
空白行について(できればCSS)
-
HTML
-
高校1年生情報の問題について。
-
改行したときの幅を狭くする方法
-
WEB制作。文字の改行について
-
『タグの無効化』は、どちらが...
-
インデントってどうやって表示...
-
CSS中で,/*と*/で囲まれた範囲...
-
テキストの流し込みについて
-
metaタグ終りの/(スラッシュ)...
-
XMLを作成してもタグしか表示さ...
-
AfterEffectsでイージーイーズ...
-
GoogleChromeでレイアウトが左...
-
mp3 のタグ編集で消えない領域...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Hタグを改行禁止にしてspanのよ...
-
H1タグに改行の<br>を使う
-
\\n \\r \\t について
-
Windowsのformでtextareaに入力...
-
高校1年生情報の問題について。
-
長いURLを途中で改行(折り返す...
-
改行できる・できない入力ボッ...
-
VBE でスペースと改行を見える...
-
テキストエリア内の改行もその...
-
テーブルの幅を固定するとnowra...
-
XMLの改行方法とリンクの仕方
-
「:」について
-
Dreamweaverの改行コードをLFに...
-
アコーディオン仕様の中の ul l...
-
テーブルのセルデータを自動改...
-
Dream Weaverの改行時にTabキー...
-
テキストエリア内の改行禁止
-
改行が変な位置、中途半端な位...
-
mailtoで本文に改行を入れたい
-
ブラウザでのタイ語の改行について
おすすめ情報