Exakte Zeichenfolge mithilfe der Methode "string.Contains ()" in c #

c# html-agility-pack

Frage

Ich habe einen HTML-Inhalt. Ich analysiere den Inhalt mit HtmlAgilityPack. Ich muss das Attribut ersetzen
' align = "middle" ' mit ' align = "center" ', verwende ich Funktion

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

Aber wenn der Zustand auch für **valign = "middle"** wieder wahr wird!

Was muss ich bei einer anderen Bedingung als Contains() ?

Akzeptierte Antwort

Ja, ich versuche, Übereinstimmung in einem HTML-Inhalt zu finden.

Dann benutze HtmlAgilityPack . Dein Code wäre etwas wie.

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

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

oder etwas Ähnliches mit LINQ

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

Beliebte Antwort

Wenn Ihre Zeichenfolge wie "blablabla align = 'align = \" middle \ "blablabla" ist, dann können Sie Folgendes tun:

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

Aber wie andere sagen, es ist schwer zu verstehen, was Sie genau wollen.




Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum