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

avec Java Discussion :

Tester le contenu d'un string


Sujet :

avec Java

  1. #1
    Membre habitué
    Inscrit en
    Septembre 2008
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 234
    Points : 156
    Points
    156
    Par défaut Tester le contenu d'un string
    Salut,

    Je voudrais savoir qu'est-ce qu'il existe comme solutions élégantes pour tester le format d'une chaîne de caractères, par exemple un numéro isbn ou un numéro de compte bancaire.

    Exemple d'isbn: 3-7440-0725-2

    On pourrais parcourir la chaîne position après position pour tester les caractères mais je suis certain qu'il y a moyen de faire cela de manière plus concise en utilisant des expréssions régulières ou quelque chose dans ce goût là.
    Développeur en devenir.

    A la recherche de toute source approfondissant Merise, UML, Java, l'objet, les design patterns hors GOF et le développement en général.

    Recherche également des informations sur les techniques de développement et les bonnes pratiques en terme de programmation en entreprise.

    "On en apprends beaucoup plus par la confrontation que par la conciliation"

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    On peut utiliser la classe "Scanner" pour ce genre de chose:

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    String isbn = "3-7440-0725-2";
     
    Scanner scanner = new Scanner(isbn);
    scanner.findInLine("(\\d+)-(\\d+)-(\\d+)-(\\d+)");
    try {
    	MatchResult result = scanner.match();
    	int num1 = Integer.parseInt( result.group(1) );
    	int num2 = Integer.parseInt( result.group(2) );
    	int num3 = Integer.parseInt( result.group(3) );
    	int num4 = Integer.parseInt( result.group(4) );
    	System.out.println("isbn="+num1+"-"+num2+"-"+num3+"-"+num4);
    } catch(IllegalStateException e) {
    	System.err.println("ce n'est pas un code ISBN");
    }
    scanner.close();
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Membre habitué
    Inscrit en
    Septembre 2008
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 234
    Points : 156
    Points
    156
    Par défaut
    Si j'ai bien compris, c'est les parseint qui déclenchent l'exception ?
    Développeur en devenir.

    A la recherche de toute source approfondissant Merise, UML, Java, l'objet, les design patterns hors GOF et le développement en général.

    Recherche également des informations sur les techniques de développement et les bonnes pratiques en terme de programmation en entreprise.

    "On en apprends beaucoup plus par la confrontation que par la conciliation"

  4. #4
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par Jimalexp Voir le message
    Si j'ai bien compris, c'est les parseint qui déclenchent l'exception ?
    non, c'est le scanner.match() qui déclenche l'exception, au cas où la chaine n'a pas le format de l'expression régulière.

    Le parseint ne devrait pas déclencher d'exception car on est sur que le groupe (\\d+) contient une suite de chiffres, donc la conversion marchera.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

Discussions similaires

  1. [Vb] Modifier contenu d'un string
    Par Little-Freud dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 25/04/2006, 13h15
  2. [DEBUTANT]Recherche mot contenu dans une String
    Par lynxman dans le forum Langage
    Réponses: 7
    Dernier message: 16/12/2005, 11h49
  3. Réponses: 2
    Dernier message: 31/10/2005, 22h04
  4. [STRING]Contenu d'un String <> vers &lt; et &g
    Par TreizeSegments dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 03/08/2004, 08h37
  5. [Reflection] Executer une fonction dont le nom est contenu dans un String
    Par christobal dans le forum API standards et tierces
    Réponses: 8
    Dernier message: 05/07/2004, 15h23

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