我写了一个VB .Net应用程序,要求用户提供一个URL,然后该应用程序将提取该URL的HTML内容并过滤除<td> </td>
个标记之外的任何内容以外的大部分内容。
因此,如果该网址的HTML是这样的
<html><body><table><tr><td>My content here</td></tr></table>
</body>
</html>
然后应用程序将打印出来:
My content here
然而,问题是某些网址已使用字母的ascii代码填充这些<td></td>
而不是字母本身,所以这是一个示例:
<html><body><table><tr><td>">bandit at</td></tr></table>
</body>
</html>
所以我的程序会显示:
'bandit'
但是任何浏览器都会将上面显示为
bandit
我尝试使用RegEx将这些数字替换为各自的字符(使用'Chr'功能),但我失败了。 这是我试过的:
Me.TextBox3.Text = Regex.Replace(htmlDoc, "&#\d\d\d;", chr("$&"))
但是这出现了错误。
我的问题是:如何用&#\d\d\d;
替换Chr(value of the \d\d\d that was matched earlier)
的所有出现?
答案 0 :(得分:2)
通过使用HTMLDecode方法,可以轻松实现这一目标。
string subject = HttpUtility.HtmlDecode(HttpUtility.UrlDecode(Request.QueryString["subject"]));
这是c#,但您可以轻松将其转换为vb.net。
答案 1 :(得分:0)
您可以使用HttpUtility.HtmlDecode
将html解码为纯字符串。