特殊电话和电子邮件字符

时间:2013-07-04 21:25:11

标签: c# .net regex string-parsing

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

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

2 个答案:

答案 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;
}