如何从字符串中获得一个包含每六个(或第n个)单词的数组
本文关键字:或第 六个 单词 数组 包含每 一个 字符串 | 更新日期: 2023-09-27 18:07:54
我有一个从文本文件中获得的字符串。这个字符串大约包含1200个单词。单词之间用空格分隔——有时一个空格,有时多个空格。
如何创建一个包含每六个单词(或第n个单词)的数组
进行分割,然后根据单词的索引进行筛选:
text.Split(new char[]{' '}, StringSplitOptions.RemoveEmptyEntries)
.Where((word, index) => index % 6 == 0)
.ToArray()
private string[] GetWords(string path, int step){
var words = File.ReadAllText(path).Split(new []{' '}, StringSplitOptions.RemoveEmptyEntries);
var resultList = new List<string>(words.Length/step);
for(var i=0; i<words.Length; i+=step)
{
var word = words[i];
resultList.Add(word);
}
return resultList.ToArray();
}
使用where linq查询获取列表中索引为mod N的所有单词:
var words = new List<string> {"word1", "word2", "word3", "word4", "word5", "word6"};
var n = 2;
var nthWords = words.Where((word, index) => (index % n) == 0).ToArray();
nthWords
现在包含word1 word3 word5