如何将正文(句子)拆分为特定数量的单词,并将它们放入数组中

本文关键字:单词 数组 句子 正文 拆分 | 更新日期: 2023-09-27 18:20:04

我想将BodyText(一些句子=超过3000个单词)拆分为特定数量的单词(例如500个单词),并将它们放在一个数组中。意味着该数组的每个块都应该有500个字,剩下的字将放在最后一个块中。

如何将正文(句子)拆分为特定数量的单词,并将它们放入数组中

我使用了一个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());
}

如果要拆分单词的通用字符是空格,请尝试此操作。它将单词拆分为空白,然后将它们按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();

因为你对单词感兴趣。整个文本可以用空格或换行符分隔。分裂本身会给你一组单词。根据你的要求,开始按索引取所需的单词数。并开始推送您的新子数组。请告诉我是否需要代码示例。

万岁!我自己找到的!

再次感谢!!!:))

 $string = "1 2 3 4 5";
 $ex = explode(' ',$string);   
 foreach ($ex as $row) {
   echo $row . "<br>'r'n";
 }