2013-10-29 48 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] }; 
     } 

     // ... 
    } 
}