C#将拆分字符串转换为列的简便方法

时间:2011-12-11 15:35:52

标签: c#

这是一个很难解释的问题。我所拥有的是一个字符串,

string startString = "Operations\t325\t65\t0\t10\t400"
string[] splitStart = startString.Split('\t');

我需要把它变成

Operations|325
Operations|65
Operations|0
Operations|10
Operations|400

问题是我需要这个是动态的,如果它有10个分裂我需要它做同样的过程10次,如果它有4个,那么它需要做4个。

任何帮助都会很棒。

很抱歉任何混乱,操作就是这个字符串,所以它不是静态的。它确实需要是字符串拆分的[0]。

3 个答案:

答案 0 :(得分:3)

类似的东西:

string startString = "Operations\t325\t65\t0\t10\t400"
string[] splitStart = startString.Split('\t');

List<string> result = new List<string>();

if(splitStart.Length > 1)
   for(int i = 1; i < splitStart.Length; i++)
   {
      result.Add(splitStart[0] + "|" + splitStart[i]);
   }

答案 1 :(得分:0)

如果是你想要的字符串,那么Linq就可以了。

string startString = "Operations\t325\t65\t0\t10\t400";
var operations = startString.Split('\t').Select(str => "Operations|" + str);

答案 2 :(得分:0)

这个怎么样?

    var reFormatted = new List<string>();
    foreach (var roughOne in toExplain) 
    {
        // example of roughOne "Operations\t325\t65\t0\t10\t400"
        var segments = roughOne.Split("\t");
        var firstSegment = segments.First();
        var sb = new StringBuilder();
        foreach (var otherSegment in segments.Skip(1))
        {
            sb.Append(firstSegment);
            sb.Append("|")
            sb.Append(otherSegment);
            sb.Append("\r\n");
        }
        reFormatted.Add(sb.ToString());
    }