获取List的一部分

本文关键字:一部分 string List 获取 | 更新日期: 2023-09-27 18:08:29

我有一个列表,看起来像这样:

some headline content
a subheadline containing the keyword 
1 2015-05-05 some data
2 2015-05-05 some data
3 2015-05-05 some data
some content
a subheadline containing another keyword 
useless stuff

现在我想要抓取"keyword"answers"another keyword"之间的所有内容。也许我应该找到"关键字"answers"另一个关键字"的索引,并使用. getrange (),但是是否有更优雅的方法来做到这一点,例如LINQ?

获取List<string>的一部分

您可以使用SkipWhileTakeWhile

var newList = list.SkipWhile(line => !line.Contains("keyword"))
                  .Skip(1)
                  .TakeWhile(line => !line.Contains("another keyword"))
                  .ToList();

yourList.Skip(10).Take(5);

这将跳过10项,然后返回下一个5项。

List<String> stringsColl=new List<String>();
strinsColl.Add(..some you strs);
...
foreach(var str in stringsColl)
{
  if(str.Contains("keyword")
   {
      ...do some work
   }
}