在foreach中拆分几个字符串

时间:2018-01-23 01:55:37

标签: c# foreach split

我有这些记录:

Value  Part   Qty  
A      PartA  QtyA
B      PartB  QtyB
C      PartC  QtyC

我用不同的字符串连接每一列:

stringValue = A~B~C
stringPart = PartA~PartB~PartC
stringQty = QtyA~QtyB~QtyC

我想拆分每个字符串以根据位置获取原始行值,但我不知道如何做到这一点任何洞察都会欣赏它。

由于

2 个答案:

答案 0 :(得分:1)

String[] yourfirstrow = stringValue.Split(new string[] { "~" }, StringSplitOptions.None);

//yourfirstrow[0] first cell value
//yourfirstrow[1] second cell value
//yourfirstrow[2] third cell value

答案 1 :(得分:0)

创建一些数据存储

class Model
{
    string Value {get; set;}
    string Part {get; set;}
    string Quantity {get; set;}

}

解析并格式化

private List<Model> _list = new List<Model>();

void MakeList()
{
    string[] values = "A~B~C".Split("~".ToCharArray(), StringSplitOptions.None);
    string[] parts = "PartA~PartB~PartC"("~".ToCharArray(), StringSplitOptions.None);
    string[] qtys = "QtyA~QtyB~QtyC"("~".ToCharArray(), StringSplitOptions.None);

    for (int i = 0; i < values.Length; i++)
    {
        var item = new Model(){ Value = values[i], Part = parts[i], Quantity = qtys[i]};
        _list.Add(item);
    }

}

string[] GenerateCommaSeparatedRecords()
{
    return _list.Select(x => string.Format("{0},{1},{2}", x.Value, x.Part, x.Quantity)).ToArray();
}

您可以生成任何想要的输出