J'analyse la table html en c # en utilisant Html Agility Pack qui contient un espace inépuisable.
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(page);
Où page est une chaîne contenant une table avec des caractères spéciaux  
dans le texte.
<td> test</td>
<td>number = 123 </td>
Utilisation de SelectSingleNode(".//td").InnerText
contient ces caractères spéciaux, mais je souhaite les ignorer.
Existe-t-il un moyen élégant d'ignorer cela (avec ou sans l'aide de Html Agility Pack) sans modifier la table source?
Vous pouvez utiliser HtmlDecode
string foo = HttpUtility.HtmlDecode("Special char:  ");
Vous donnera une ficelle:
Caractère spécial:
Le "caractère spécial" dont vous parlez est un espace valide qui peut parfaitement apparaître légitimement dans le texte, tout comme les "guillemets fantaisistes", les tirets superbes etc.
Souvent, nous voulons traiter certains caractères comme équivalents.
Cependant, ce n'est pas quelque chose que HTML Agility Pack peut aider. Vous devez utiliser quelque chose comme string.Replace ou votre propre fonction de canonisation pour le faire.
Je suggérerais quelque chose comme:
static string CleanupStringForMyApp(string s){
// replace characters with their equivalents
s = s.Replace(string.FromCharCode(160), " ");
// Add any more replacements you want to do here
return s;
}