1. ホーム
  2. c#

[解決済み] C#で&nbspを含む文字列からHTMLタグを除去する。

2023-06-23 02:52:01

質問

C#で正規表現を使用して、&nbspを含むすべてのHTMLタグを削除するにはどうすればよいですか。私の文字列は次のようになります。

  "<div>hello</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div>"

どのように解決するのですか?

タグをフィルタリングするために HTML パーサー指向のソリューションを使用できない場合、ここにそのための簡単な正規表現があります。

string noHTML = Regex.Replace(inputHTML, @"<[^>]+>|&nbsp;", "").Trim();

として、複数のスペースを扱う正規表現フィルタにもう一回通すのが理想的です。

string noHTMLNormalised = Regex.Replace(noHTML, @"\s{2,}", " ");