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

VB.NET Discussion :

test sur l'existence d'un caractère dans une chaine


Sujet :

VB.NET

  1. #1
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 151
    Points : 52
    Points
    52
    Par défaut test sur l'existence d'un caractère dans une chaine
    Bonjour,

    dans ma page asp j'ai un textbox.

    Je fais un test sur l'existence de virgules successives dans la chaine de caractères tapée dans le textbox.

    si je trouve des virgules successives je dois laisser une seule.

    exemple:

    aaa,,,,bbb,,,cc, --> aaa,bbb,cc,

    voila mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
       i = 1
      x=textbox1.text
       While (i < x.Length - 1)
     
      If (x.Substring(i, 1)).Equals(",") And (x.Substring((i + 1), 1)).Equals(",") Then
     
                                   x.remove(i,1)
     
       End If
       i = i + 1
    End While
    j'ai meme tester avec if x(i)=.... au lieu x.substring mais le test dans le deux cas ne marche pas.
    ce n'est pas un problème au niveau de la fonction remove mais c'est le test qui ne marche pas.

    Merci

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 206
    Points : 192
    Points
    192
    Par défaut
    bonjour,
    essayé ce qui suit et dit moi si ca te plait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    While TextBox1.Text.IndexOf(",,") <> -1
                TextBox1.Text = TextBox1.Text.Replace(",,", ",")
            End While

  3. #3
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 151
    Points : 52
    Points
    52
    Par défaut
    Citation Envoyé par dudule Voir le message
    bonjour,
    essayé ce qui suit et dit moi si ca te plait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    While TextBox1.Text.IndexOf(",,") <> -1
                TextBox1.Text = TextBox1.Text.Replace(",,", ",")
            End While
    Merci pour votre réponse mais j'ai toujours le meme problème

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 206
    Points : 192
    Points
    192
    Par défaut
    Alors j'ai pas du comprendre ton problème. avec peu être un peu + de code, ca aiderait

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Citation Envoyé par pigeon11 Voir le message
    Merci pour votre réponse mais j'ai toujours le meme problème
    Pourtant la solution de dudule semble correcte... ça donne quoi comme résultat ?

  6. #6
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 119
    Points
    25 119
    Par défaut
    moi j'aurais mis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    While TextBox1.Text.Contains(",,")
        TextBox1.Text = TextBox1.Text.Replace(",,", ",")
    End While
    mais ca revient au même ^^

  7. #7
    Membre du Club
    Inscrit en
    Juin 2007
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 151
    Points : 52
    Points
    52
    Par défaut
    Merci beaucoup, ça marche.

    je veux tester si la chaine de caractères contient des virgules au début, si je les trouve je dois les supprimer :

    ,,,,aaa --> aaa

    voila ce que j'ai écrit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    While  (chaine.Substring(0, 1) = ",") 
     
            chaine.Remove(0, 1)
     
    End While
    Mais j'ai toujours un problème au niveau du test. Meme si ma chaine contient des virgules au début elles ne sont pas détéctées.

    Merci

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Les chaines en .NET ne sont pas modifiables, donc Remove ne modifie pas l'instance courante de la chaine, mais renvoie une copie.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    While  (chaine.StartsWith(",")) 
            chaine = chaine.Remove(0, 1)
    End While

Discussions similaires

  1. [XL-2010] Test sur un checkbox (Controle de formulaire) dans une feuille Excel
    Par labase dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/06/2014, 18h37
  2. [VS.net] Vérifier le présence d'un caractère dans une chaine
    Par arnolem dans le forum Windows Forms
    Réponses: 15
    Dernier message: 10/09/2005, 15h19
  3. Recuper un caractère dans une chaine. (novice)
    Par Thierry8 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 22/08/2005, 09h07
  4. Réponses: 8
    Dernier message: 08/06/2004, 01h29

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