使用c分割存在于不同行中的数据#

问题描述:

请帮我分割数据。使用c分割存在于不同行中的数据#

林有我的excel文件的一些数据作为

123456 // row id 0,0 
234567 // row id 1,0 
345678 // row id 2,0 
456789 // row id 3,0 

等等...

现在我在windows应用程序的文本框中提供这些数据,需要的输出数据作为split[0] = 123456,split[1]=234567和等等...

请帮我这...

string text = textBox1.Text; 
string[] split = text.Split();//Here what condition should i give??? 
int count = split.Length; 
for (int i = 0; i < count; i++) 
{ 
    Console.WriteLine(split[i]); 
} 
+0

我不清楚你的实际文件是什么样子的,//是否是定界符?比使用这个你的'分裂'。是','?在使用循环之前,您可以拆分从分割中获得的每个字符串。 – HimBromBeere

+0

认为它不是行ID,它是单元ID,所以我们有一个包含5个值的列。 –

如果you're只关心在//前的部分,那么你也可以使用使用String.Substring()另一种方法:

int num; 
if(int.TryParse(text.Substring(0, text.IndexOf("//")), out num) { 
    // do something with num 
}; 

Alternativly使用Split

int num; 
if(int.TryParse(text.Split("//")[0], out num) { 
    // do something with num 
}; 

 string text = @" 
     123456 // row id 0,0 
      234567 // row id 1,0 
     345678 // row id 2,0 
      456789 // row id 3,0 
     "; 
     string[] splits = text.Split('\n');//Here what condition should i give??? 
     string[] split=new string[splits.Length]; 
     int j=0; 
     foreach (var x in splits) 
     { 
      split[j]=x.Split(' ')[0]; 
       j++; 
     } 
     int count = split.Length; 
     for (int i = 0; i < count; i++) 
     { 
      Console.WriteLine(split[i]); 
     } 

你在找这个?

String text = 
    @"123456 // row id 0,0 
     234567 // row id 1,0 
     345678 // row id 2,0 
     456789 // row id 3,0"; 

    // new Char[] { '\r', '\n' } - I don't know the actual separator 
    // Regex.Match(...) - 1st integer number in the line 
    int[] split = text 
    .Split(new Char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries) 
    .Select(line => int.Parse(Regex.Match(line.TrimStart(), "^[0-9]+").Value)) 
    .ToArray(); 

    // Test: 
    // 123456 
    // 234567 
    // 345678 
    // 456789 
    Console.Write(String.Join(Environment.NewLine, split));