2013-10-29 47 views
1

HI我在文本框中有以下字符串,我想分割每一行并将其复制到Excel单元格中。如何在字符串前后分割' - '

61663254 
61663236-61663250 
61663254-61663280 
61663254 
61663254-61663280 

如果行有“ - ”它应该复制之前数字“ - ”在数字后的第一个单元格 “ - ”应该是下一个单元格。

如果行有n不是any'-”它应该在该行的数字复制到两个细胞

回答

4

您可以使用String.Split分割字符串:

foreach(var line in lines) 
{ 
    string[] cells = line.Split('-'); 
    if (cells.Length == 1) 
     cells = new string[] {cells[0], cells[0]}; 

    // Copy each cell into excel 
} 
1

您需要拆分换行符或空格以及连字符。

此代码交换连字符的所有空格,然后拆分连字符。

string original = "61663254 61663236-61663250 61663254-61663280 61663254 61663254-61663280"; 
List<string> cells = original.Replace(" ", "-").Split('-'); 
0

我会用StringReaderstring.Split方法,即:

var s = 
@"61663254 
61663236-61663250 
61663254-61663280 
61663254 
61663254-61663280"; 

using (var stringReader = new StringReader(s)) 
{ 
    string line; 

    while ((line = stringReader.ReadLine()) != null) 
    { 
     var cells = line.Split('-');  

     if (cells.Length == 1) 
     { 
      cells = new[] { cells[0], cells[0] }; 
     } 

     // ... 
    } 
}