2010-04-14 95 views

回答

1

使用正则表达式。

String result = Regex.Replace(your_text_goes_here, @"<[^>]*>", String.Empty); 
+0

@sashaeve:这是不够可靠的呈现HTML – James 2010-04-14 12:52:03

+1

@James:为什么不呢?所有这一切取决于HTML的复杂性将被用作来源。如果在例子中这么简单 - 这就足够了。 – sashaeve 2010-04-14 12:55:15

+0

是的,也许如此(因为我建议我自己),但我认为HTML会比示例中提供的更复杂一点。 – James 2010-04-14 13:02:32

3

我会建议尝试的HTML敏捷包.NET:

Html Agility Pack - Codeplex

Attemtping通过HTML与别的是解析,在大多数情况下,不可靠的。

不管你做什么,DON'T TRY TO PARSE HTML WITH REGEX!

+0

我认为不需要为这个简单的任务HtmlAgilityPack。看到我的答案。 – sashaeve 2010-04-14 12:51:03

+0

@sashaeve并看到我更新的答案。对于这样一个简单的例子,RegEx可能会工作......但这只是一个例子。我的猜测是他真正的问题要复杂得多,所以SO post解释了为什么你无法用RegEx解析HTML。 – 2010-04-14 12:52:41

+0

同意你的意见。 – sashaeve 2010-04-14 12:55:50

0

您需要使用某种形式的HTML解析器。你可以使用现有的Regex或建立自己的。但是,它们并不总是100%可靠。我会建议使用像HtmlAgilityPack第三方实用程序(我用这一个,并会推荐它)

0

穷人的HTML解析器

 string s = 
      @" 
      <html> 
      <body> 
      <h1>My First Heading</h1> 
      <p>My first paragraph.</p> 
      </body> 
      </html> 
     "; 

     foreach (var item in s.Split(new char[]{'<'})) 
     { 
      int x = item.IndexOf('>'); 

      if (x != -1) 
      { 
       Console.WriteLine(item.Substring(x).Trim('>')); 
      } 
     }