我有以下代码调用网站并从页面中提取标题。工作正常,但它也提取新的行字符或选项卡。所以有时字符串看起来像
\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
答案 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,"");