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 :

[C#]Comment vérifier que le premier caractère d'une chaîne est bien alpha majuscule?


Sujet :

C#

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Points : 148
    Points
    148
    Par défaut [C#]Comment vérifier que le premier caractère d'une chaîne est bien alpha majuscule?
    Salut,

    J'essaie d'utiliser les wildcards pour vérifier que le premier caractère d'une chaîne est bien alpha majuscule.

    Mais ça ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    string tmp = code.Substring(0,1);
    if(tmp.CompareTo("[A-Z]*") != 0 || code.Length != 16)
    {                
       FormCodeErr frmCE = new FormCodeErr("Code barre incorrect !", "");
       frmCE.ShowDialog();
       st = false;
    }
    else
    {                
       st = true;
    }
    Peut-on gérer les wildcards avec C#?

    Merci pour toute information complémentaire.

  2. #2
    Membre expérimenté
    Avatar de freddyboy
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2003
    Messages
    810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2003
    Messages : 810
    Points : 1 696
    Points
    1 696
    Par défaut
    tu as des methodes comme Char.IsUpper() et Char.IsLetter().
    cela peut eventuellement t'aider.

    @+
    Someday I will be the most powerful Jedi !

    Freddyboy - Blog

  3. #3
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Sans oublier les expressions regulières
    Espace de noms System.Text.RegularExpressions
    notamment la Classe Regex
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Points : 148
    Points
    148
    Par défaut
    Oui en effet, c'est ce que j'ai trouvé entre temps.
    Voilà le code que j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public bool isStrUppAlpha(string code)
    		{
    			Regex r = new Regex("[A-Z]");
    			bool status = false;
    			// Find a single match in the string.
    			Match m = r.Match(code); 
    			if(m.Success) 
    			{
    				status = true;
    			}
    			return status;
    		}
    Par contre comment faire pour contrôler qu'une chaîne ne contient qu'une série de chiffres de 0 à 9 ? Le code suivant ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public bool isStrNum(string code)
    		{
    			Regex r = new Regex("*([0-9])");
    			bool status = false;
    			// Find a single match in the string.			
     
    			Match m = r.Match(code); 
    			if(m.Success) 
    			{
    				status = true;
    			}
    			return status;
    		}
    Avez-vous des suggestions ?

  5. #5
    Membre expérimenté
    Avatar de freddyboy
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2003
    Messages
    810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2003
    Messages : 810
    Points : 1 696
    Points
    1 696
    Par défaut
    je connais pas trop alors je te donne ce lien au cas ou tu ne le connaisse pas.
    http://lgmorand.developpez.com/dotnet/regex/

    @+
    Someday I will be the most powerful Jedi !

    Freddyboy - Blog

  6. #6
    Membre régulier
    Homme Profil pro
    Architecte technique
    Inscrit en
    Septembre 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 71
    Points : 102
    Points
    102
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    System.Text.RegularExpressions.Regex myRegex = new Regex(@"^[0-9]*$");
    return myRegex.IsMatch("1234567890"); // retourne true
    et voir aussi http://lgmorand.developpez.com/dotnet/regex/

    J'ajoute rapidemment que si tu testes juste la casse du premier caractere, la solution avec Char.IsUpper("Toto", 0) et Char.IsLetter("Toto", 0) sera bien plus performante.

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Points : 148
    Points
    148
    Par défaut
    Merci, ça marche ainsi !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/03/2014, 11h58
  2. Comment puis-je ne sélectionner que le premier <li>
    Par pierrot10 dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 09/07/2013, 16h53
  3. Réponses: 3
    Dernier message: 31/05/2007, 07h24
  4. Réponses: 3
    Dernier message: 14/11/2005, 15h06
  5. Comment commenter ses prg pr que ses collègues comprennent ?
    Par GFA dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 02/05/2003, 14h19

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