在C#中拆分字符串?

mr_*_*air 0 .net c# string visual-studio-2010 visual-studio

我试图像这样在C#中拆分字符串

COMMSTR1-NAC-NAM-P-C FCPANAM1-NAC-NAM-P-C CHAZEL1-NAT-CBM-P-C
Run Code Online (Sandbox Code Playgroud)

应该

word1     word2       word3      word4     word5   word5
COMMSTR1 NAC-NAM-P-C FCPANAM1 NAC-NAM-P-C  CHAZEL1 NAT-CBM-P-C
Run Code Online (Sandbox Code Playgroud)

在上面它包含三个单词,有时它可以包含两个单词或一个单词.我怎样才能获得以上输出.我在下面尝试,但卡住了.

class Program
        {
            static void Main(string[] args)
            {
                string str = "COMMSTR1-NAC-NAM-P-C FCPANAM1-NAC-NAM-P-C CHAZEL1-NAT-CBM-P-C";

                string[] words = str.Split(' ');

                 foreach(string word in words)
                    {
                        Console.WriteLine("{0}",word);
                    }

                    Console.ReadLine();

            }
Run Code Online (Sandbox Code Playgroud)

Hab*_*bib 6

您可以尝试以下操作,首先将其拆分到空间,然后使用IndexOf从该单词中休息.:

 string str = "COMMSTR1-NAC-NAM-P-C FCPANAM1-NAC-NAM-P-C CHAZEL1-NAT-CBM-P-C";
 string[] words = str.Split(' ');
 List<string> list = new List<string>();
 foreach (string word in words)
   {
            int index = word.IndexOf('-'); // as per Daniel's suggestion
            list.Add(word.Substring(0,index));
            list.Add(word.Substring(index+1));
    }
Run Code Online (Sandbox Code Playgroud)

//用于打印

    foreach (string tempStr in list)
    {
        Console.WriteLine(tempStr);
    }
Run Code Online (Sandbox Code Playgroud)