我有这个简单的文本变量
<ul class="disc">
<li><a href="/free-openvpn-account/VPNBook.com-OpenVPN-Euro1.zip">Euro1 OpenVPN Certificate Bundle</a> </li>
<li>Password: <strong>8ruFatha</strong></li>
</ul>
在本文中,我只需要提取Password: <strong>8ruFatha</strong>
字符串替换不起作用,但这是一个可变文本。
有可能吗?
答案 0 :(得分:3)
正则表达式用于解析HTML的用法是not very good idea。我建议您使用HtmlAgilityPack(可从NuGet获得):
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(yourHtmlString);
var li = doc.DocumentNode.SelectSingleNode("//ul[@class='disc']/li[2]");
string password = li.InnerHtml; // you can check if li is not null
如果xpath选择ul
元素,类等于disc
,则获取该列表的第二个列表项。
答案 1 :(得分:0)
foreach (Match match in Regex.Matches(answerString, @"<strong>(.*)</strong>"))
{
//match.value - <strong>8ruFatha</strong>
}
answerString - 你的HTML
答案 2 :(得分:-1)
string extraction = text.SubString(text.IndexOf("Password:"), 34)
这会在字符串中找到密码:然后将字符串的34个字符转换为新的字符串提取。如果它不会被修复为34个字符,那么我建议使用另一个IndexOf()
设置子字符串的结尾