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)
您可以尝试以下操作,首先将其拆分到空间,然后使用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)