0

我正在通过 .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>

我想我错过了一些东西。我尝试使用替换功能等,但无济于事。有人可以帮我将此值转换为正确的字符串值吗?(正则表达式?)感谢您的帮助。

4

2 回答 2

0

你可以使用:

HttpUtility.HtmlDecode(S)

这可以在 System.Web 命名空间中找到。

于 2013-07-04T21:29:50.497 回答
-1

当然。你正在寻找Uri.UnescapeDataString(url). 但是,它并不能同时解码所有这些。因此,您需要做的是在循环中使用它,如下所示:

public static string DecodeUrlString(this string url)
{
    string newUrl;
    while ((newUrl = Uri.UnescapeDataString(url)) != url)
        url = newUrl;
    return newUrl;
}
于 2013-07-04T21:28:05.967 回答