我想将BodyText(一些Sentences =超过3000个单词)分成特定数量的单词(例如500个单词),并将它们放入一个数组中。 意味着该数组的每个块应该有500个单词,我们将在最后一个块中使用其余的块。
答案 0 :(得分:3)
我使用了richtextbox和一个列表。
List<string> words=new List<string>();
string[] splittedWords = rich.Text.Split(' ');
int counter = 0;
StringBuilder tempWordHolder=new StringBuilder();
foreach (string word in splittedWords)
{
tempWordHolder.Append(" ");
tempWordHolder.AppendLine(word);
counter++;
if (counter < 500)
continue;
counter = 0;
words.Add(tempWordHolder.ToString());
tempWordHolder.Clear();
}
if (tempWordHolder.Length > 0)
{
words.Add(tempWordHolder.ToString());
}
答案 1 :(得分:1)
如果要分割单词的常规字符是空格,请尝试此操作。它将单词拆分为空格,然后将它们按500组分组列入列表:
string[] sentences = bodyText.Split(' ');
List<string[]> parts = new List<string[]>();
for (int i = 0; i < sentences.Length; i += 500)
{
parts.Add(sentences.Skip(i).Take(500).ToArray());
}
如果您希望最终结果在数组中,可以使用ToArray()
:
string[][] endArray = parts.ToArray();
答案 2 :(得分:0)
因为你对单词很感兴趣。整个文本可以按空格或换行分割。分裂本身会给你一系列的单词。并根据您的要求开始采用索引所需的字数。并开始推送到新的子数组。请告诉我是否需要代码示例。