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

Collection et Stream Java Discussion :

Verifier qu'un champ ne contient aucun caractère spécial


Sujet :

Collection et Stream Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 38
    Points : 33
    Points
    33
    Par défaut Verifier qu'un champ ne contient aucun caractère spécial
    Bonjour,

    J'aurais encore besoin d'un coup de pouce

    Je dois vérifier qu'une variable ne contient que des lettres ou des chiffres, autrement dit aucun caractère spécial. Et très franchement, je n'ai pas la moindre idée de comment m'y prendre ... =/ Je dois le faire en Java uniquement ...

    J'ai regardé les méthodes de la classe String mais je n'ai rien vu de vraiment pertinent, à moins de tester caractère spécial par caractère spécial mais pfiouh ça va être laborieux

    J'espère que quelqu'un aura une toute pitite piste ...

    Merci d'avance !!!!

  2. #2
    Membre éclairé Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Points : 672
    Points
    672
    Par défaut
    Bonjour,

    Les expressions régulières répondront à ce besoin
    http://cyberzoide.developpez.com/java/regex/

    La doc sur la classe Pattern donne aussi des informations sur cela

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 38
    Points : 33
    Points
    33
    Par défaut
    Oki merci beaucoup, j'ai de quoi m'occuper ^^

  4. #4
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 38
    Points : 33
    Points
    33
    Par défaut
    En fait je retombe sur le même problème Je ne sais pas comment exprimer l'ensemble des caractères spéciaux ... Voici ce que j'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SansCaracteresSpeciaux s = new SansCaracteresSpeciaux();
    s.setChaine("coucou !?.(-è");
    pattern = Pattern.compile("^[a-zA-Z]");
    matcher = pattern.matcher(s.getChaine());
    while(matcher.find()) {
        System.out.println("Trouvé !");
    }
    Je pensais qu'en prenant la négation de l'ensemble [a-zA-Z] (qui est l'ensemble des lettres minuscules ou majuscules), j'aurais forcément l'ensemble des caractères spéciaux. La console ne m'affiche qu'une fois "Trouvé ! " ...

    Donc j'en déduis que mon ensemble est mal défini ...

    [EDIT]
    Mon ensemble doit contenir toute la ponctuation puisque c'est le "è" qui déclenche l'affichage sur la console ...
    [EDIT]
    Ouais non en fait, mon ensemble est tout pourri ^^ Le "Trouvé" se déclenche même sans caractères spéciaux ...
    [/EDIT]
    [/EDIT]

  5. #5
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Ta regexp est incorrect. ^ en tout début d'expression représente le début de ligne. Ainsi ici tu vérifies seulement le premier caractère.

    Pour désigner la négation d'un ensemble il faut insérer le ^ entre les crochets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Pattern.compile("[^a-zA-Z]");
    a++

  6. #6
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 38
    Points : 33
    Points
    33
    Par défaut
    Merci, c'est tout ce qu'il me manquait !! ^_^

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

Discussions similaires

  1. Fonction bash dont un argument contient un caractère spécial
    Par YuGiOhJCJ dans le forum Shell et commandes GNU
    Réponses: 11
    Dernier message: 14/03/2013, 11h31
  2. Réponses: 4
    Dernier message: 07/09/2010, 10h12
  3. [XSLT]Testez si le champ contient un caractère
    Par totoen dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 14/12/2005, 15h47
  4. Réponses: 1
    Dernier message: 05/12/2005, 22h49
  5. Verifier qu'un champ existe en vba
    Par dynxd dans le forum Access
    Réponses: 4
    Dernier message: 02/10/2005, 17h10

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