你如何将一个数组的每个部分分成另一个数组?

时间:2017-06-04 16:42:50

标签: c# arrays visual-studio

所以我有一个在任何时期分裂的字符串。然后将其存储到数组"句子"中。现在我想拆分数组的所有部分"句子"按间距。我该怎么做?

到目前为止我的代码:

string input = TextEditor.Text;
string[] sentences = input.Split('.');
string[] words = sentences[0].Split(' ');
显然,这不起作用。

我想要的输出是字符串是:hello world I feel great. How about you.

输出:

wordarray[0] = {"hello", "world", "I", "feel", "great"};
wordarray[1] = {"How", "about", "you"};

3 个答案:

答案 0 :(得分:4)

所以你希望你的结果是wubble(X1)对吗?每个子数组都包含一个句子。子阵列中的每个项目都包含构成句子的单词。

只需使用LINQ:

string[][]

答案 1 :(得分:2)

要获取一个数组中的所有单词,请使用SelectMany()

string[] sentences = input.Split('.');
string[] words = sentences.SelectMany((sentence) => sentence.Split(' ')).ToArray();           

修改1

为了好玩,您可以使用

获得单词的直方图(每个单词的计数)
foreach (var item in words.GroupBy((word) => word).OrderByDescending((word) => word.Count()))
{
    Debug.WriteLine($"{item.Key}: {item.Count()}");
}

答案 2 :(得分:1)

您可能希望循环并获取内部数组,如

    string input = TextEditor.Text;
    string[] sentences = input.Split('.');

    for(int i=0; i< sentences.Length; i++)
    {  
      string[] words = sentences[i].Split(' ');
       //do some processing on this
    }