2017-11-17 1 views
-1

C#으로 매트릭스에 문자열 변환 '!'나는이 같은 문자열이

Prof. Dr. Bill Gates [email protected] Microsoft Corporation 
Assoc. Dr. Elon Musk [email protected] Tesle Inc. 
Dr. Mehmet Mehdi Kara [email protected] Tetra Yazılım 

각을 '줄 끝'및 ';' 각 요소의 끝입니다 간단한 방법으로 어떻게이 작업을 수행 할 수 있습니까?

+4

그래서? 아직 아무 것도 시도하지 않았습니까? 무엇을 시도했는지 작동하지 않는 것은 무엇입니까? (SO는 코드 서비스 사이트가 아닙니다 ..) –

+1

'string.Split (';')' –

+0

var simple = people.Split ('!'). 여기서 (p =>! string.IsNullOrWhiteSpace (p)). (p => p.Split (';')) .ToArray(); – Rob

답변

1

str.split();

var people = @"Prof. Dr. Bill Gates;[email protected];Microsoft Corporation!Dr.Elon Musk; elon @tesla.com; Tesle Inc.!Dr.Mehdi Karakoç; mehdi @tetra.com.tr; Tetra Yazılım!"; 

     var person = people.Split('!'); 

     foreach (var item in person) 
     { 
      var data = item.Split(';'); 

      var name = data[0]; 
      var email = data[1]; 
      var company = data[2]; 

      --> Here Add Itens on your Matriz or List 

     } 
0

나는 매트릭스 객체에 익숙하지 해요,하지만 이것은 당신이 2 차원 문자열 배열로 해당 문자열을 구문 분석하는 방법이다. 그것이 당신을 올바른 길로 인도 할 수 있기를 바랍니다.

string people = "Prof. Dr. Bill Gates;[email protected];Microsoft Corporation!Dr.Elon Musk; elon @tesla.com; Tesle Inc.!Dr.Mehdi Karakoç; mehdi @tetra.com.tr; Tetra Yazılım!"; 
string[] tmp; 
int maxWidth = 0; 
int row; 
List<string[]> everybody = new List<string[]>(); 
string[] folks = people.Split('!'); 
string[,] matrix; 

foreach (string person in folks) 
{ 
    tmp = person.Split(';'); 
    maxWidth = Math.Max(maxWidth, tmp.Length); 
    everybody.Add(tmp); 
} 

matrix = new string[everybody.Count, maxWidth]; 
row = 0; 

foreach (string[] body in everybody) 
{ 
    for (int i = 0; i < maxWidth; i++) 
    { 
     if (i < body.Length) 
     { 
      matrix[row, i] = body[i]; 
     }//if this person has enough entries 
    }//for each value in person 
    row++; 
}//for each person 

//Result is now a 2 dimensional string array, parsed per value per person. 
관련 문제