¿Cómo elimino todas las tags HTML de una cadena sin saber qué tags hay en ella?

¿Hay alguna manera fácil de eliminar todas las tags HTML o CUALQUIER COSA relacionado de una cadena?

Por ejemplo:

string title = " Hulk Hogan's Celebrity Championship Wrestling    [Proj # 206010]    (Reality Series,  )" 

Lo anterior realmente debería ser:

“Hulk Hogan’s Celebrity Championship Wrestling [Proj # 206010] (Serie Reality)”

Puedes usar una expresión regular simple como esta:

 public static string StripHTML(string input) { return Regex.Replace(input, "<.*?>", String.Empty); } 

Tenga en cuenta que esta solución tiene su propio defecto. Consulte Eliminar tags HTML en Cadena para obtener más información (especialmente los comentarios de @mehaase)

Otra solución sería usar HTML Agility Pack .
Puede encontrar un ejemplo usando la biblioteca aquí: HTML agility pack: ¿elimina las tags no deseadas sin eliminar contenido?

Puede analizar la cadena usando Html Agility y obtener InnerText.

  HtmlDocument htmlDoc = new HtmlDocument(); htmlDoc.LoadHtml(@" Hulk Hogan's Celebrity Championship Wrestling    [Proj # 206010]    (Reality Series,  )"); string result = htmlDoc.DocumentNode.InnerText; 

Puedes usar el siguiente código en tu cadena y obtendrás la cadena completa sin la parte html.

 string title = " Hulk Hogan's Celebrity Championship Wrestling    [Proj # 206010]    (Reality Series,  )".Replace(" ",string.Empty); string s = Regex.Replace(title, "<.*?>", String.Empty);