0
我有看起来像这样的字符串。每行都是\r
分隔,为了视觉目的放置在这里。使用已知密钥按分组划分文本
BEGIN_SECTIONS_INFORMATION
NUMSECTIONS=6
SECTION_GROUPNAME[1]=GROUP_1
SECTION_NAME[1]=foo
BEGIN_SECTION[1]
//blah...
END_SECTION[1]
SECTION_GROUPNAME[2]=GROUP_2
SECTION_NAME[2]=bazzz
BEGIN_SECTION[2]
//blah...
END_SECTION[2]
END_SECTIONS_INFORMATION
我需要SECTION_GROUPNAME
拆分此字符串转换成IEnumerable<T>
这样的:
指数0:
SECTION_GROUPNAME[1]=GROUP_1
SECTION_NAME[1]=foo
BEGIN_SECTION[1]
//blah...
END_SECTION[1]
指数1:
SECTION_GROUPNAME[2]=GROUP_2
SECTION_NAME[2]=bazzz
BEGIN_SECTION[2]
//blah...
END_SECTION[2]
规则:
- 每节以
SECTION_GROUPNAME[n]
开头。 - 每节有一个
SECTION_NAME[n]
并有一个BEGIN_
和END_
。 - 部分名称是唯一的。
我曾尝试:
var sections = from line in sectionGroups
where line.StartsWith("SECTION_GROUPNAME")
group line by "SECTION_GROUPNAME";
也试过
var sections = sectionGroups.Split(new string[] { "SECTION_GROUPNAME" }, StringSplitOptions.None);
从this post,OP创建团体枚举/列表。我不能这样做,因为我不知道字符串中会有多少组/部分。
你只想找一个'IEnumerable的'和假设myEnumerable [N]匹配SECTION_GROUPNAME [N],或者你希望也从中提取的关键文本?如果是后者,你在寻找什么关键。如果前者,为什么你的分手不适合你?你不能只是将SECTION_GROUPNAME追加到每个结果字符串的开头吗? –
Kolichikov
我的分割结果在SECTION_GROUPNAME之前的所有内容(第一个,后面的所有分割都没有分割)以及之后的所有内容。 – Kyle