如何在解析 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代码有像"这样的标点符号类型,但我使用/"。我要问的是,我应该为这个'角色做些什么。

如何在解析 HTML 时从 C# 中的撇号字符转义

这一行取自您的代码:

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>

不过,目前还不清楚您要完成什么。如果这不能回答您的问题,请根据原始帖子的评论更新您的帖子。