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

Windows Forms Discussion :

Expressions régulières pour suppression d´espace


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juin 2005
    Messages : 79
    Points : 43
    Points
    43
    Par défaut Expressions régulières pour suppression d´espace


    Je voudrais utiliser les expressions régulières pour supprimer les espaces que j´ai dans un string par exemple :
    "bonjour ce chat est ici"
    Le problème est que le nombre d´espace change entre chaque "mot".

    On m´a donné l´idée d´utiliser les expressions régulières :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String param = "bonjour    ce chat         est   ici"
    System.Text.RegularExpressions.Regex regSepar = new System.Text.RegularExpressions.Regex("\s*,\s*)
    Et on utilise un split:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tablaParam = regSepar.Split(param)
    Le problème de ce code est qu´il est pour un string qui a des , entre les mots, quelquesoit le nombre d´espaces : "bonjour , ce, chat , est, ici"

    Dans mon cas je n´ai pas de virgule, et je ne sais pas comment utiliser la partie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Text.RegularExpressions.Regex("\s*,\s*)
    J´ai essayé avec seulement \s* mais ca marche pas...

    Si vous avez une idée merci!


  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2005
    Messages : 80
    Points : 89
    Points
    89
    Par défaut
    Sans les Regex, tu peux faire ton String.Replace(" ", "") et ça va faire le même travail.

  3. #3
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juin 2005
    Messages : 79
    Points : 43
    Points
    43
    Par défaut
    J´avais déja essayé les split sans les regex, et ca aussi mais ca fonctionne pas comme je veux...

  4. #4
    Membre averti
    Avatar de sam_XIII
    Profil pro
    Inscrit en
    Août 2003
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 221
    Points : 353
    Points
    353
    Par défaut
    si ton but est d'effacer les blancs qui sont en trop, voici une méthode pour le faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Function effaceblancs(ByVal texte As String) As String
     Dim i As Integer = 0
     Dim j As Integer = 1
     While i < texte.Length
       If texte(i) = " "C Then
         While texte(j) = " "C
           texte = texte.Remove(j, 1)
         End While
       End If
       System.Math.Min(System.Threading.Interlocked.Increment(i),i-1)
       System.Math.Min(System.Threading.Interlocked.Increment(j),j-1)
     End While
     Return texte
    End Function

    j'avais ecrit ceci en C#

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     private string effaceblancs(string texte)
            {
                for (int i = 0, j = 1; i < texte.Length; i++, j++)
                {
                    if (texte[i] == ' ')
                    {
                        while (texte[j] == ' ')
                        {
                            texte = texte.Remove(j, 1);
                        }
                    }
                }
                return texte;
            }
    le code que je t'ai donné est la traduction que cet outil m'a donné

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2005
    Messages : 80
    Points : 89
    Points
    89
    Par défaut
    Je dois sûrement pas comprendre ce que tu veux faire dans ce cas-là. Car présentement le code ci-dessous va donner "bonjourcechatestici".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "bonjour ce  chat est     ici".Replace(" ", "")

  6. #6
    Membre expérimenté

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Points : 1 738
    Points
    1 738
    Billets dans le blog
    1
    Par défaut
    Je ne sais pas, je donne ça comme hypothèse.
    ne serait-ce pas pas possible d'écrire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String.Replace("  ", " ")
    remplacer é espaces par un seul...

  7. #7
    Membre averti
    Avatar de sam_XIII
    Profil pro
    Inscrit en
    Août 2003
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 221
    Points : 353
    Points
    353
    Par défaut
    Citation Envoyé par Poulain
    Je ne sais pas, je donne ça comme hypothèse.
    ne serait-ce pas pas possible d'écrire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String.Replace("  ", " ")
    remplacer é espaces par un seul...

    je crois que si tu fais ca, si par exemple tu as 10 espaces, et que tu fais remplacer 2 espaces pas 1 seul, tu en aura encore 5

  8. #8
    Membre expérimenté

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Points : 1 738
    Points
    1 738
    Billets dans le blog
    1
    Par défaut
    ah... ben une boucle alors...

  9. #9
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juin 2005
    Messages : 79
    Points : 43
    Points
    43
    Par défaut
    Merci pour vos réponses. J´ai réussi avec ce que vous m´avez donné a avoir un string sans espaces.
    En fait je veux quitter les espaces pour recupérer chaque partie de mot qui ne correspond pas à un espace, je voulais donc "couper" le string en fonction des espaces, meme si ils ne sont pas égaux.

Discussions similaires

  1. [RegEx] Expression régulière pour supprimer des doublons
    Par cbroissa dans le forum Langage
    Réponses: 5
    Dernier message: 20/05/2017, 01h59
  2. Réponses: 2
    Dernier message: 27/02/2007, 09h16
  3. [RegEx] Simple expression régulière pour ereg_replace
    Par aurapp dans le forum Langage
    Réponses: 6
    Dernier message: 12/03/2006, 12h34
  4. Expression régulière pour récupérer le nom d'un fichier
    Par calimero2611 dans le forum Langage
    Réponses: 5
    Dernier message: 24/02/2006, 19h00
  5. Expression Régulière pour float
    Par zebiloute dans le forum Langage
    Réponses: 5
    Dernier message: 26/09/2005, 14h03

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