繁体   English   中英

两个字符之间的多重分割为字符串数组

[英]Multiple split between two chars to string array

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

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

var htmlElements = "<p>lorem ipsum</p><span>nisi sapien</span><ul><li>list items</li></ul>";
string[] arrayOfElements = htmlElements.Split('<', '>')[1];

使用此代码仅提取第一个“ p”。 我需要拉出每个元素到字符串数组。 结束标签</p>没关系,我只需要每个元素的开始标签。

所需的输出是包含p span ul li的字符串数组

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

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是个坏主意 ,但是如果您只想获取项目的值,那就足够了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM