我正在通过.NET解析网页(c#,HtmlAgilityPack)。网页代码(电话,电子邮件)中的特殊格式有一些值。例如,目标值为“+420 221 513 222”和“revize@secar.cz”,但在html源代码中,值类似于
<span class="p none">420%8722%AC1%87513%87%AC222</span>
<a class="e none">rev%DBize%DB%A7se%DBcar%DB%96cz</a>
我想我错过了一些东西。我试图使用替换功能等但无济于事。有人可以帮助我将这些值转换为正确的字符串值吗? (正则表达式?) 谢谢你的帮助。
答案 0 :(得分:0)
您可以使用:
HttpUtility.HtmlDecode(S)
这可以在System.Web命名空间中找到。
答案 1 :(得分:-1)
不确定。您正在寻找Uri.UnescapeDataString(url)
。但是,它并不能同时解码所有内容。所以你需要做的是在循环中使用它,如下所示:
public static string DecodeUrlString(this string url)
{
string newUrl;
while ((newUrl = Uri.UnescapeDataString(url)) != url)
url = newUrl;
return newUrl;
}