Faire correspondre la chaîne exacte à l'aide de la méthode string.Contains () en c #

c# html-agility-pack

Question

J'ai un contenu HTML. J'analyse le contenu en utilisant HtmlAgilityPack. J'ai besoin de remplacer l'attribut
' align = "middle" ' avec ' align = "center" ', j'utilise une fonction

if(htmlDoc.DocumentNode.OuterHttml.Contains("align = "middle""))
htmlDoc.DocumentNode.OuterHttml.Replace("align = "middle","align = "center"")

Mais si la condition **valign = "middle"** vraie même pour **valign = "middle"** !

Qu'est-ce que je dois mettre si condition autre que Contains() ?

Réponse acceptée

oui, j'essaie de trouver une correspondance dans un contenu HTML.

Ensuite, utilisez HtmlAgilityPack . Votre code serait quelque chose comme.

var doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(HtmlString);

var tds = doc.DocumentNode.SelectNodes("//td[@align='middle']");

ou quelque chose comme ça en utilisant LINQ

var tds = doc.DocumentNode.Descendants("td")
                .Where(td => td.Attributes["align"].Value == "middle")
                .ToList();

Réponse populaire

si votre chaîne ressemble à "blablabla align = 'align = \" middle \ "blablabla", vous pouvez alors:

Contains(" align = \"middle\" ") // spaces before and after

Mais comment les autres disent qu'il est difficile de comprendre ce que vous voulez exactement.



Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow