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 :

Récupérer un entier dans une variable de type String


Sujet :

avec Java

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 63
    Points : 50
    Points
    50
    Par défaut Récupérer un entier dans une variable de type String
    Bonjour, je cherche à récupérer un entier dans une variable de type String.

    Soit ma variable String monMot = "1234 mon mot"
    J'aimerai pouvoir séparer "1234" et "mon mot" en sachant que le nombre est toujours donnée en premier avez vous une idée.

    Comment pourrais je faire ?
    Merci de votre aide

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Si tu es sûr que la chaine a cette structure, le moyen le plus simple est d'utiliser indexOf (permet d'obtenir l'emplacement d'un caractère) et substring (permet d'obtenir une partie de chaine) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String string = "1234 mon mot";
    String nombre = string.substring(0,string.indexOf(' '));
    Ou d'utiliser un split (qui va découper une chaine en morceaux selon un motif vers un tableau) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String string = "1234 mon mot";
    String nombre = string.split(" ")[0]);
    Si la structure de chaine n'est pas sure, on peut utilser une recherche par expression régulière

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Matcher matcher = Pattern.compile("\\d+").matcher(string); // on cherche une suite de chiffres
    if ( matcher.find() ) { // si on trouve
        String nombre = matcher.group(0); // on récupère ce qui a été trouvé
        System.out.println(nombre);
    }
    else {
        System.out.println("Non trouvé");
    }
    Il y a éventuellement la solution par Scanner également :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Scanner scanner = new Scanner(string);
    int value = scanner.nextInt();
    System.out.println(value);
    On peut même tester si le début est bien un nombre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Scanner scanner = new Scanner(string);
    if ( scanner.hasNextInt() ) {
       int value = scanner.nextInt();
       System.out.println(value);
    }

Discussions similaires

  1. [XL-2007] recherche d'un mot dans une variable de type string
    Par canichon dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/04/2013, 13h45
  2. Parenthèses dans une variable de type String
    Par Gringo59 dans le forum VBA Access
    Réponses: 2
    Dernier message: 29/01/2008, 18h05
  3. Réponses: 2
    Dernier message: 08/12/2006, 11h09
  4. Des " dans une variable de type String
    Par 4lkaline dans le forum Langage
    Réponses: 6
    Dernier message: 06/11/2006, 14h20
  5. Ajouter a une variable de type string, un entier
    Par Little-Freud dans le forum SL & STL
    Réponses: 12
    Dernier message: 05/03/2005, 19h33

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