【发布时间】:2020-09-14 23:37:46
【问题描述】:
我有一个格式如下的字符串:“a, b(c,d(e,f),g),h, i(j, k, l)" 其中每个字母代表一个或多个单词。
我需要将此字符串拆分为对象列表:
public class Item
{
public string Name { get; set; }
public IEnumerable<Item> Children { get; set; }
public Ingredient()
{
Children = new List<Item>();
}
}
以大纲格式表示的期望结果:
- 一个
- b
2.1。 c
2.2. d
2.2.1。电子
2.2.2。 f
2.3. g - h
- 我
4.1。 j
4.2. k
4.2. l
这样做最有效的方法是什么?
【问题讨论】:
-
在性能方面,由于C#是一种编译语言,如果你自己写解析器(不带正则表达式),你会得到最好的结果。
-
能否请您显示此列表的示例输出?
-
一个平面的子列表,还是基于parthentical结构嵌套?
-
基于括号结构嵌套。我更新了试图说明这一点,但我的格式不断丢失。