1

嗨,我在文本框中有以下字符串,我想划分每一行并将其复制到 Excel 单元格中。

61663254
61663236-61663250
61663254-61663280
61663254
61663254-61663280

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

如果行没有任何'-' 它应该将行中的数字复制到两个单元格

4

4 回答 4

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
}
于 2013-10-29T23:49:11.620 回答
1

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

此代码将所有空格交换为连字符,然后在连字符上拆分。

string original = "61663254 61663236-61663250 61663254-61663280 61663254 61663254-61663280";
List<string> cells = original.Replace(" ", "-").Split('-');
于 2013-10-29T23:51:58.963 回答
0

我会使用StringReaderandstring.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] };
        }

        // ...
    }
}
于 2013-10-29T23:56:12.390 回答
0

看看String.Split方法。

于 2013-10-29T23:50:24.437 回答