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

Langage Java Discussion :

Séparer les nombres d'une chaine avec split


Sujet :

Langage Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 62
    Points : 42
    Points
    42
    Par défaut Séparer les nombres d'une chaine avec split
    Salut,
    j'aimerais séparer les nombres d'une chaine de caractères.
    Exemple : j'ai
    Message12
    et j'aimerais récupérer le "12".
    J'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String[] tmp=machaine.split("\\\\d");
    mais il me renvoie en tmp[0] toute la chaine.
    Si j'affiche tmp[1] erreur java.lang.ArrayIndexOutOfBoundsException: 1.

    Au fait, si la chaine n'a pas de chiffre à la fin , comment éviter de générer cette erreur ?

    merci.

  2. #2
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Je pense pas que tu peut faire ca avec un split...

    Il te faudra utiliser une regex, replaceAll("[a-b]","")

  3. #3
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 42
    Points : 50
    Points
    50
    Par défaut
    Salut!

    Essaie ceci:

    chaine.split("[^0-9]");

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 62
    Points : 42
    Points
    42
    Par défaut
    Désolé ça ne fonctionne pas... -> toujours le même résultat.

    Je comprends pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String num=this.getText().replaceAll("[a-b]","");
    System.out.println(num);
    toujours "Message12";

  5. #5
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    - Avec split() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String[] tmp = machaine.split("\\D+");
    expl :
    si machaine = "message1 message2"
    alors : tmp[0] = "1" et tmp[1] = "2"

    - Avec replaceAll() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String num = machaine.replaceAll("\\D+");
    (ne marche que si tu as un seul nombre)
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

Discussions similaires

  1. Récupérer les nombres d'une chaine de caractères ?
    Par supman33 dans le forum Débuter
    Réponses: 5
    Dernier message: 21/06/2012, 16h55
  2. Extraire les nombres d'une chaine avec regex
    Par Alain15 dans le forum Général Java
    Réponses: 2
    Dernier message: 04/05/2011, 08h32
  3. Construire des tableaux a partir d'une chaine avec les RegExp?
    Par Zineb1987_UNI dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/10/2009, 15h10
  4. Réponses: 5
    Dernier message: 02/01/2007, 14h57
  5. Retirer les accents d'une chaine avec MySQL
    Par orus8 dans le forum Requêtes
    Réponses: 5
    Dernier message: 23/02/2006, 16h47

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