代码之家  ›  专栏  ›  技术社区  ›  Toran Billups

如何使用正则表达式.split

  •  0
  • Toran Billups  · 技术社区  · 14 年前

    目前,我正在尝试解析一些html并返回一个数组,其中包含每个元素中的值。

    例如:

    var element = "td";
    var html = "<tr><td>1</td><td>2</td></tr>";
    return Regex.Split(html, string.Format("<{0}*.>(.*?)</{0}>", element));
    

    我希望返回一个数组[]{1,2}

    2 回复  |  直到 14 年前
        1
  •  6
  •   SLaks    14 年前

    不要使用正则表达式解析HTML。

    相反,您应该使用 HTML Agility Pack

    例如:

    HtmlDocument doc = new HtmlDocument();
    doc.Parse(str);
    
    IEnumerable<string> cells = doc.DocumentNode.Descendants("td").Select(td => td.InnerText);
    
        2
  •  1
  •   JoshD    14 年前
        3
  •  0
  •   MikeDub Kent Boogaart    5 年前

    // From File
    var doc = new HtmlDocument();
    doc.Load(filePath);
    
    // From String
    var doc = new HtmlDocument();
    doc.LoadHtml(html);
    
    // From Web
    var url = "http://html-agility-pack.net/";
    var web = new HtmlWeb();
    var doc = web.Load(url);