2009-06-22 11 views
11

Mam kod:Tekst C# odczytać pliku zawierającego dane rozdzielany tabulatorami

public static void ReadTextFile() 
    { 
     string line; 

     // Read the file and display it line by line. 
     using (StreamReader file = new StreamReader(@"C:\Documents and Settings\Administrator\Desktop\snpprivatesellerlist.txt")) 
     { 
      while ((line = file.ReadLine()) != null) 
      { 

       char[] delimiters = new char[] { '\t' }; 
       string[] parts = line.Split(delimiters, StringSplitOptions.RemoveEmptyEntries); 
       for (int i = 0; i < parts.Length; i++) 
       { 

        Console.WriteLine(parts[i]); 
        sepList.Add(parts[i]); 

       } 

      } 

      file.Close(); 
     } 
     // Suspend the screen. 
     Console.ReadLine();  
    } 

on czyta w pliku tekstowym, który zawiera dane rozdzielany tabulatorami i dzieli dane na osobne słowa.

Problem polega na tym, że kiedy dane zostały rozdzielone, wciąż mają one spore ilości białych znaków po lewej i prawej stronie na losowych ciągach na liście (większość z nich to robi). Nie mogę przyciąć łańcucha, ponieważ usuwa on tylko białe spacje i technicznie nie jest to biała przestrzeń.

Ktoś ma pomysły, jak obejść ten problem !?

+1

Jestem zdezorientowany - mówisz, że ma ogromne ilości białej przestrzeni, ale potem mówisz również, że przycinanie nie zadziała, ponieważ nie jest to biała przestrzeń? –

+0

Czy możesz dwukrotnie sprawdzić, jakie są te białe znaki? Nie sądzę, że możliwe jest, że są to karty z opublikowanego przez Ciebie kodu. – Noldorin

+0

Czym dokładnie są te ilości białej przestrzeni, ale nie technicznie biała przestrzeń? – Groo

Odpowiedz

10

Mam problem jest, że gdy dane zostały rozdzielone, to nadal ma ogromne ilości białego miejsca po lewej i prawej stronie na losowe ciągi w wykazie (W rzeczywistości większość z nich to robi). Nie mogę przyciąć łańcucha, ponieważ usuwa on tylko białe spacje i technicznie nie jest to biała przestrzeń.

Wygląda na to, że w łańcuchu znaków znajdują się znaki niewymagające tabulacji, a także rozdzielane tabulatorami.

Używanie String.Trim powinno działać poprawnie, aby usunąć te dodatkowe znaki. Jeśli z jakiegoś powodu nie użyjesz String.Trim przy każdym słowie, musisz przełączyć się, aby dowiedzieć się, z czego składają się dodatkowe "znaki" i użyć tego overload of String.Trim.

+0

Dziękuję - bardzo doceniamy pomoc! – Goober

2

Masz białe spacje/zakładki w ten sposób? "        Witam  "?

trymowania usunąć białe spacje i tabulatory zbyt

Powiązane problemy