如何在' - '之前和之后划分字符串

时间:2013-10-29 23:47:53

标签: c# .net string

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

61663254
61663236-61663250
61663254-61663280
61663254
61663254-61663280

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

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

4 个答案:

答案 0 :(得分: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 :(得分:1)

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

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

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

答案 2 :(得分:0)

查看String.Split方法。

答案 3 :(得分: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] };
        }

        // ...
    }
}