删除已知开始和结束字符串c#的字符串

时间:2013-05-11 06:03:20

标签: c# string replace

我有一个HTML页面字符串,我想从HTML页面的开头删除一些字符串。我要删除的代码可以是

<!DOCTYPE HTML>

<!DOCTYPE anything in between>

无论如何,它始终以<!DOCTYPE开头,以>结尾。如何搜索此行并将其从HTML页面中删除?

到目前为止,我设法使用以下代码

搜索并删除带有<!DOCTYPE HTML>的第一个字符串
PageString = e.Result.Replace("<!DOCTYPE HTML>", "").Trim();

但第二个怎么样?

1 个答案:

答案 0 :(得分:4)

您可以使用Regex.Replace方法执行此操作:

PageString = Regex.Replace(e.Result, "<!DOCTYPE[^>]+>", string.Empty);

此处的模式将匹配以<!DOCTYPE开头的任何子字符串,后跟一个或多个不是>的字符,后跟>。这将替换<!DOCTYPE anything in between>之类的任何内容,包括<!DOCTYPE HTML>

如果您使用起始锚点(^)仅在字符串的开头匹配此模式,那么您可以更加安全并实际上提高此方法的性能:

PageString = Regex.Replace(e.Result, "^<!DOCTYPE[^>]+>", string.Empty);
相关问题