Fichier texte en lecture C # contenant des données délimitées par des onglets

StackOverflow https://stackoverflow.com/questions/1028224

  •  06-07-2019
  •  | 
  •  

Question

j'ai du code:

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

Il lit dans un fichier texte contenant des données délimitées par des tabulations et les divise en mots séparés.

Le problème que j’ai, c’est que, une fois les données séparées, il reste encore d’énormes quantités d’espace blanc à gauche et à droite des chaînes aléatoires de la liste (la plupart en ignorent). Je ne peux pas couper la chaîne car elle supprime uniquement les espaces et techniquement, ce n'est pas un espace.

Quelqu'un a-t-il des idées sur la façon de résoudre ce problème!?

Était-ce utile?

La solution

  

Le problème que j’ai, c’est que, une fois les données séparées, il reste encore d’énormes quantités d’espace blanc à gauche et à droite des chaînes aléatoires de la liste (la plupart en ignorent). Je ne peux pas couper la chaîne car elle supprime uniquement les espaces et techniquement, ce n'est pas un espace.

On dirait que votre chaîne contient des caractères d'espacement non tabulés, ainsi que des caractères délimités par des tabulations.

L'utilisation de String.Trim devrait fonctionner correctement pour supprimer ces caractères supplémentaires. Si, pour une raison quelconque, effectuer String.Trim sur chaque mot ne fonctionne pas, vous devez passer à la recherche des types de caractères "Caractères" supplémentaires. sont constitués de et utilisent cette surcharge de String.Trim .

Autres conseils

Vous avez des espaces blancs / onglets comme ça? & nbsp; & nbsp; & nbsp; & nbsp; Bonjour & nbsp; " ?

Supprimez également les espaces blancs et les onglets

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top