正则表达式从网页中提取标题

时间:2016-05-13 15:57:26

标签: c# regex

我有以下代码调用网站并从页面中提取标题。工作正常,但它也提取新的行字符或选项卡。所以有时字符串看起来像

\r\n\tSome WebSite | Official Company Website\r\n

public string GetPageTitle(string url)
    {
        string regex = @"(?<=<title.*>)([\s\S]*)(?=</title>)";
        string source = this._client.DownloadString(url);
        return Regex.Match(source, regex, RegexOptions.IgnoreCase).Value;           
    }

忽略\r\n\t

的正则表达式应该是什么

1 个答案:

答案 0 :(得分:1)

考虑非正则表达式选项

如果您没有明确设置正则表达式,则值得注意的是Trim()方法将从字符串中删除任何前导和尾随空格,其中包括制表符和新专栏:

return Regex.Match(source, regex, RegexOptions.IgnoreCase).Value.Trim();

同样,明确的替换也可以起作用:

return Regex.Match(source, regex, RegexOptions.IgnoreCase).Value
                                                          .Replace("\t","")
                                                          .Replace(Environment.NewLine,"");