2016-04-02 8 views
-2

ich eine Textdatei vonWie gebe ich einen Text multidimentional Array

alex Name

London CITY

England LAND

Ich will es an einem multidimentional Array

string[,] tokened = new string[3, 2]; 
     int i = 0, j = 0; 
     string[] input = File.ReadAllLines(@"D:\abc.txt"); 
     foreach (string line in input) 
     { 
      foreach (var row in line.Split('\n')) 
      { 
       foreach (var col in row.Trim().Split(' ')) 
       { 
        tokened[i, j] = Convert.ToString((col.Trim())); 
        j++; 
       } 
       i++; 
      } 
     } 

Ich habe diesen Code geschrieben, würde aber nicht funktionieren.

+0

'aber work.' nicht Warum? irgendein Fehler? Ausnahme? unerwartetes Ergebnis? – Eser

+0

Ihr erster Split muss Zeile für Zeile lesen. Finden Sie in der MSD für diese https://msdn.microsoft.com/en-us/library/ezwyzy7b.aspx –

+0

Eingabezeichenfolge war nicht in einem korrekten Format. in dieser Zeile tokened [i, j] = Convert.ToString (int.Parse ((col.Trim()))); –

Antwort

0

Sie könnten versuchen:

 var numberOfRecords = 3; 
     var numberOfFields = 2; 
     var columnDelimeter = ' '; 
     var lineSeparator = "\r\n\r\n"; 
     var tokened = new string[numberOfRecords, numberOfFields]; 
     var input = System.IO.File.ReadAllText(@"d:\abc.txt"); 
     var lines = input.Replace(lineSeparator, "|").Split('|').ToArray(); 
     //loop through rows 
     for (var row = 0; row < lines.Length; row++) 
     { 
      //split the columns with a space 
      var cols = lines[row].Split(columnDelimeter).ToArray(); 
      for(var col = 0; col < numberOfFields; col++) 
      { 
       tokened[row, col] = cols[col]; 
      } 
     } 
Verwandte Themen