Regex 如何使用正则表达式替换b 使用各自的ascii字符?
我编写了一个VB.Net应用程序,要求用户输入一个URL,然后该应用程序将提取该URL的HTML内容,并过滤掉除Regex 如何使用正则表达式替换b 使用各自的ascii字符?,regex,vb.net,replace,Regex,Vb.net,Replace,我编写了一个VB.Net应用程序,要求用户输入一个URL,然后该应用程序将提取该URL的HTML内容,并过滤掉除标记之间的任何内容以外的大部分内容 所以如果url的HTML是这样的 我的内容在这里 然后应用程序将简单地打印出: 此处我的内容 但是,问题是一些URL使用字母的ascii码而不是字母本身填充了这些,因此下面是一个示例: “>b;a;n;d;i;t; ;a;t; 因此,我的程序将显示: 'b&
标记之间的任何内容以外的大部分内容
所以如果url的HTML是这样的
我的内容在这里
然后应用程序将简单地打印出:
此处我的内容
但是,问题是一些URL使用字母的ascii码而不是字母本身填充了这些
,因此下面是一个示例:
“>b;a;n;d;i;t; ;a;t;
因此,我的程序将显示:
'bandit'
但任何浏览器都会将上述内容显示为
bandit
我尝试使用正则表达式将这些数字替换为各自的字符(使用'Chr'函数),但失败了。
以下是我尝试过的:
Me.TextBox3.Text = Regex.Replace(htmlDoc, "&#\d\d\d;", chr("$&"))
但这是一个错误
我的问题是:如何用
Chr(先前匹配的\d\d\d的值)
替换所有出现的&\d\d\d;
?使用HTMLDecode方法可以轻松实现这一点
这是c#,但您可以轻松地将其转换为vb.net。您可以使用
HttpUtility.HtmlDecode
将html解码为纯字符串
string subject = HttpUtility.HtmlDecode(HttpUtility.UrlDecode(Request.QueryString["subject"]));