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