2

HTML ページ文字列があり、HTML ページの先頭から一部の文字列を削除したいと考えています。削除したいコードは

<!DOCTYPE HTML>

また

<!DOCTYPE anything in between>

いずれにせよ、常に で始まり、<!DOCTYPEで終わり>ます。この行を検索して HTML ページから削除するにはどうすればよいですか?

<!DOCTYPE HTML>これまでのところ、次のコードを使用して最初の文字列を検索して削除することができました

PageString = e.Result.Replace("<!DOCTYPE HTML>", "").Trim();

しかし、2つ目はどうですか?

4

1 に答える 1

5

Regex.Replace次のメソッドでこれを行うことができます。

PageString = Regex.Replace(e.Result, "<!DOCTYPE[^>]+>", string.Empty);

ここでのパターンは、 で始まり、 以外<!DOCTYPEの 1 つ以上の文字が>続き、その後に>. <!DOCTYPE anything in between>これにより、を含むように見えるものはすべて置き換えられます <!DOCTYPE HTML>

^開始アンカー ( ) を使用して文字列の先頭でこのパターンのみに一致させると、非常に安全になり、実際にこのメソッドのパフォーマンスが向上します。

PageString = Regex.Replace(e.Result, "^<!DOCTYPE[^>]+>", string.Empty);
于 2013-05-11T06:07:11.373 に答える