2011-12-11 4 views
0

설명하는 것이 어렵습니다. 내가 가지고있는 것은 내가C# 분할 된 문자열을 열로 쉽게 변환하는 방법

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

문제는 내가 그것을 10 개 분할이있는 경우 나 동일한 프로세스를 수행 할 필요에이 그렇게 동적 일 필요가있다이 점을 설정해야합니다,

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

문자열입니다 10 번, 4라면 4 할 필요가 있습니다.

어떤 도움도 굉장합니다.

혼란스러워서 죄송합니다. Operations는 단지이 문자열이므로 정적이 아닙니다. 그것은 정말로 문자열 분할의 [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]); 
    } 
+0

를 참조하십시오, 내 편집 –

+0

@ 마이크를 참조하십시오. – Tudor

+0

튜더 (Tudor)에게 감사드립니다. 내가 7 개가있는 경우 어떻게 4 정수를 초과하지 않습니까? –

0

당신이 원하는 문자열 인 경우, 약간의 Linq를 잘해야한다 :

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

, 혼란에 대한 유감 내 편집 –

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()); 
    } 
관련 문제