Совпадение точной строки с использованием метода string.Contains () в c #

c# html-agility-pack

Вопрос

У меня есть html-контент. Я разбираю контент с помощью HtmlAgilityPack. Мне нужно заменить атрибут
' align = "middle" ' с ' align = "center" ', я использую функцию

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

Но если условие возвращает true даже для **valign = "middle"** !

Что мне нужно вставить, если условие отличное от Contains() ?

Принятый ответ

да, я пытаюсь найти совпадение внутри содержимого html.

Затем используйте HtmlAgilityPack . Ваш код будет чем-то вроде.

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

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

или что-то вроде этого, используя LINQ

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

Популярные ответы

если ваша строка похожа на «blablabla align = 'align = \" middle \ "blablabla", то вы можете сделать:

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

Но как другие говорят, что трудно понять, что вы хотите точно.



Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow