2009-06-22 22 views
11

Ho qualche codice:C# Leggi Text file contenente i dati delimitati da tabulazioni

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();  
    } 

Si legge in un file di testo che contiene i dati delimitati da tabulazioni e suddivide i dati in parole separate.

Il problema che ho è che una volta che i dati sono stati separati, ha ancora enormi quantità di spazio bianco sui lati sinistro e destro su stringhe casuali nell'elenco (in pratica la maggior parte di esse). Non riesco a tagliare la stringa perché rimuove solo lo spazio bianco e tecnicamente non è lo spazio bianco.

Qualcuno ha qualche idea su come aggirare questo problema !?

+1

Sono confuso - tu dici che ha enormi quantità di spazio bianco, ma poi dici anche che l'assetto non funzionerà perché non è uno spazio bianco? –

+0

Puoi ricontrollare cosa sono questi caratteri bianchi? Non credo sia possibile che siano in realtà delle schede, dal codice che hai pubblicato. – Noldorin

+0

Quali sono esattamente queste quantità di spazio bianco, ma non lo spazio tecnicamente bianco? – Groo

risposta

10

Il problema che ho è che una volta che i dati sono stati separati, ha ancora enormi quantità di spazio bianco sui lati sinistro e destro su stringhe casuali nella lista (Infatti la maggior parte di loro lo fa). Non riesco a tagliare la stringa perché rimuove solo lo spazio bianco e tecnicamente non è lo spazio bianco.

Sembra che siano presenti caratteri non di tabulazione nella stringa e che siano delimitati da tabulazioni.

Utilizzare String.Trim dovrebbe funzionare correttamente per rimuovere questi caratteri extra. Se, per qualche motivo, facendo String.Trim su ogni parola non funziona, dovrai passare a scoprire quali sono i "caratteri" in più inclusi e utilizzare questo overload of String.Trim.

+0

Grazie - aiuto molto apprezzato! – Goober

2

Si dispone di spazio bianco/schede come questo? "        Ciao  "?

Trim rimuovere gli spazi bianchi e le schede troppo

Problemi correlati