两个字符之间的多个拆分到字符串数组

时间:2016-10-25 09:21:26

标签: c#

我需要拆分一个由html元素组成的字符串。

我想在两个字符之间拆分“<”和“>”。

public enum RestCommand implements Command<RestCommand> {
    GET, PUT, POST, DELETE;
}

使用此代码只会拉出第一个“p”。我需要将每个元素拉出到字符串数组。结束标记var htmlElements = "<p>lorem ipsum</p><span>nisi sapien</span><ul><li>list items</li></ul>"; string[] arrayOfElements = htmlElements.Split('<', '>')[1]; 无关紧要,我只需要每个元素的起始标记。

所需输出是包含</p>

的字符串数组

1 个答案:

答案 0 :(得分:3)

我建议使用正则表达式提取(匹配)所需的值:

string htmlElements = "<p>lorem ipsum</p><span>nisi sapien</span><ul><li>list items</li></ul>";

string[] arrayOfElements = Regex
  .Matches(htmlElements, @"<(\w+)>")
  .OfType<Match>()
  .Select(m => m.Groups[1].Value)
  .ToArray();

测试

// p span ul li
Console.Write(string.Join(" ", arrayOfElements));

一般情况中,通过正则表达式解析 html是一个坏主意,但如果你只想获取项目的值它可以很好。