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

本文关键字:之后 划分 字符串 | 更新日期: 2023-09-27 18:37:27

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

61663254
61663236-61663250
61663254-61663280
61663254
61663254-61663280

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

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

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

您可以使用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
}

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

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

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

看看 String.Split 方法。

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