如何在解析 HTML 时从 C# 中的撇号字符转义
本文关键字:转义 字符 时从 HTML | 更新日期: 2023-09-27 18:33:47
我在网站上搜索了这个问题,我发现了什么,并没有解决我的问题。当我解析 HTML 时,我基本上无法摆脱单引号字符,即
'
这是我的部分代码:
WebClient web = new WebClient();
string page = web.DownloadString(URL);
string publications = "<h3 class='"gs_rt'"><a href='"(.*?)'" onmousedown='"return scife_clk(this.href,'','res','(.*?)')'">(.*?)</a></h3>";
string authors = "<div class='"gs_a'">(.*?)</div";
foreach (Match match in Regex.Matches(page, publications))
{
listBox2.Items.Add(match.Groups[2].Value);
listBox1.Items.Add(match.Groups[3].Value);
}
编辑:
这是网站链接:
http://scholar.google.com/scholar?oi=bibs&hl=en&cites=9865132894872604322
我想要的是出版物的标题。这是publications
的第三次(.*?)
。
编辑2:我没有收到任何退货。我想拥有User profiles for personalized information access
标题。虽然HTML代码有像"
这样的标点符号类型,但我使用/"
。我要问的是,我应该为这个'
角色做些什么。
这一行取自您的代码:
string publications = "<h3 class='"gs_rt'"><a href='"(.*?)'" onmousedown='"return scife_clk(this.href,'','res','(.*?)')'">(.*?)</a></h3>";
。打印到textBox
返回时:
<h3 class="gs_rt"><a href="(.*?)" onmousedown="return scife_clk(this.href,'','res','(.*?)')">(.*?)</a></h3>
。据我所知,其中包括原始字符串中的所有单引号。
你可以通过反斜杠来操纵单引号(意外的惊喜),使用反斜杠:''
(链接在这里)。
随机示例:
char singleQuote = '''';
publications = publications.Replace(singleQuote, 'A');
。将替换所有'
(随机选择)A
:
<h3 class="gs_rt"><a href="(.*?)" onmousedown="return scife_clk(this.href,AA,AresA,A(.*?)A)">(.*?)</a></h3>
不过,目前还不清楚您要完成什么。如果这不能回答您的问题,请根据原始帖子的评论更新您的帖子。