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

本文关键字:结束 字符串 开始 删除 | 更新日期: 2023-09-27 18:13:01

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

<!DOCTYPE HTML>

<!DOCTYPE anything in between>

无论如何,它总是以<!DOCTYPE开始,以>结束。如何搜索这一行并将其从HTML页面中删除?

到目前为止,我设法搜索并删除第一个字符串与<!DOCTYPE HTML>使用以下代码
PageString = e.Result.Replace("<!DOCTYPE HTML>", "").Trim();

但是第二个呢?

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

您可以使用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);