2013-05-11 87 views
1

我有一個HTML頁面字符串,我想從HTML頁面的開頭刪除一些字符串。我想刪除該代碼可以使用已知的開始和結束字符串c刪除字符串#

<!DOCTYPE HTML>

<!DOCTYPE anything in between>

無論如何,它總是與<!DOCTYPE開始和結束>。如何搜索該行並將其從HTML頁面中刪除?

到目前爲止,我管理,以搜索和使用下面的代碼

PageString = e.Result.Replace("<!DOCTYPE HTML>", "").Trim(); 

又是如何的第二個刪除與<!DOCTYPE HTML>第一個字符串?

回答

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); 
+0

感謝您的建議。但是我得到了一個錯誤'System.ArgumentException:解析' – PutraKg 2013-05-11 06:13:50

+0

@PutraKg對不起,我有錯誤的順序參數。看到我更新的答案。 – 2013-05-11 06:18:34

相關問題