IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

supprimer plusieurs espaces en une seule


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Inscrit en
    Octobre 2009
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 55
    Par défaut supprimer plusieurs espaces en une seule
    Bonjour :

    svp je suis a la recherche de la solution depuis au minimum 4 jours et je ne trouves la solution nulle part , j'ai essayer tous les codes que j'ai trouver dans notre forum et même ceux qui circule sur internet mais sans cesse j'ai rien trouvé
    svp je suis a la recherche du programme qui supprime les espaces inutile en une seul espace et dans le but est de mettre le résultat obtenu dans un data grid composé par 04 colonnes sachant que mes datas sont importer d'un fichier texte sous cette forme :


    04/11/2012(un espaces)09:34:52(02 espaces)31282(6 espaces)End Maintenance
    04/11/2012(un espaces)09:34:53(02 espaces)31547(6 espaces)Start Product Changeover

    et je veux les changé par :

    04/11/2012 09:34:52 31282 End Maintenance
    04/11/2012 09:34:53 31547 Start Product Changeover


    j'attend un retour et si c'est possible j'ai besoin d'un coach qui me guidera tout au long de mon projet que je dois l'implanté dans ma société

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 93
    Par défaut
    Salut,

    Sokhz a répondu à cette problématique dans ton précédent thread !

    Si tu as toujours le même nombre d'espace et que les champs font toujours la même longueur (sauf le dernier), tu n'auras pas de soucis...
    Sinon une simple regex fera l'affaire (par contre je ne peux pas t'aider là dessus )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    string original = "04/11/2012 09:34:52  31282      End Maintenance";
    StringBuilder final = new StringBuilder();
    final.Append(original.Substring(0, 19));
    final.Append(original.Substring(21, 5));
    final.Append(original.Substring(31, original.Length - 31);
    ...quelque chose comme ça, j'ai un peu compté les indices à la va-vite !

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    332
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2002
    Messages : 332
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    using System;
     
    namespace Dela.Mono.Examples
    {
       public class HelloWorld
       {
          public static void Main(string[] args)
          {
             Console.WriteLine("Hello World");
             var text = "AAA   BBBBBB CCCC  DDDDD";
             Console.WriteLine(text.Replace("  ", " "));
          }
       } 
    }
    Résultat:

    Hello World
    AAA BBBBBB CCCC DDDDD

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 93
    Par défaut
    T'es sûr de ton coup Babyneedle ?

    Je viens de tester et je trouve 2 espaces entre AAA et BBBBB !

    Logique car les 2 premiers sont remplacés par 1 seul, et le 3ième reste tel qu'il est...

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 700
    Par défaut
    Bonjour,
    si la Regex vous intéresse :
    Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        Function ReplaceSpace(ByRef test_string As String) As String
            test_string = System.Text.RegularExpressions.Regex.Replace(test_string, "\s+", " ")
            Return test_string
        End Function
    "\s+" : soit un ou plusieurs espaces blancs sont remplacés par un seul : " "

  6. #6
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Par défaut
    salut à tous,

    autrement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    string text = "AAA   BBBBBB CCCC  DDDDD";
    while (text.Contains("  ")) { text = text.Replace("  ", " "); };

Discussions similaires

  1. Supprimer plusieurs objet en une et une seule boucle for
    Par Beber_lechat dans le forum Langage
    Réponses: 5
    Dernier message: 23/09/2010, 09h44
  2. Remplacement de plusieurs espaces par une seul
    Par Bayard dans le forum Général Python
    Réponses: 2
    Dernier message: 23/11/2008, 18h10
  3. Réponses: 9
    Dernier message: 06/11/2007, 12h36
  4. plusieurs enregistrements dans une seul ligne
    Par Celelibi dans le forum Requêtes
    Réponses: 3
    Dernier message: 03/01/2005, 15h55
  5. Insérer plusieurs enregistrements en une seule requête
    Par pyd001 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 26/02/2004, 10h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo