我需要过滤以下列表以返回以“Group”开头的第一个项目开始的所有项目,直到但不包括以“Group”开头的下一个项目(或直到最后一个项目)。
List<string> text = new List<string>();
text.Add("Group Hear It:");
text.Add(" item: The Smiths");
text.Add(" item: Fernando Sor");
text.Add("Group See It:");
text.Add(" item: Longmire");
text.Add(" item: Ricky Gervais Show");
text.Add(" item: In Bruges");
过滤后,我希望在第一个分组中有以下项目:
"Group Hear It:" " item: The Smiths" " item: Fernando Sor"
第二组中的以下项目:
"Group See It:" " item: Longmire" " item: Ricky Gervais Show" " item: In Bruges"
这不起作用,因为我在第一个排除“项目:”项目的位置过滤列表......我是关闭TakeWhile还是远离?
var group = text.Where(t => t.StartsWith("Group ")))
.TakeWhile(t => t.ToString().Trim().StartsWith("item"));