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 :

La méthode Substring


Sujet :

avec Java

  1. #1
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 66
    Points : 41
    Points
    41
    Par défaut La méthode Substring
    Bonsoir,

    J'ai un petit bout de code qui utilise la méthode Substring :

    la voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    str2 = (str.substring(4,5)+"."+str.substring(2,3)+"."+str.substring(0,1));
    Ce que je ne comprend pas ce qu'il ne prend pas l'index de fin après la virgule.

    Pourriez-vous m'aider svp.

  2. #2
    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,


    Que veux-tu dire par là ?

    a++

  3. #3
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 66
    Points : 41
    Points
    41
    Par défaut
    Je vais donner un exemple.

    J'ai le String str qui est égal à 091103

    Au lieu de m'afficher 03.11.09 (la date du jour en fait)

    ça affiche 0.1.0 (il prend que l'index de début).

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 149
    Points : 95
    Points
    95
    Par défaut
    Tu en es sûr?
    Le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    String str = "BONJOUR";
        String decoupe = str.substring(4,5)+"."+str.substring(2,3)+"."+str.substring(0,1);
            System.out.println("Decoupage : "+decoupe);
    me retourne "O.N.B".

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 149
    Points : 95
    Points
    95
    Par défaut
    Ok je vois tu t'es trompé d'index
    Voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     String str = "091103";
        String decoupe = str.substring(4,6)+"."+str.substring(2,4)+"."+str.substring(0,2);
            System.out.println("Decoupage : "+decoupe);
    c

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 149
    Points : 95
    Points
    95
    Par défaut
    mdr, j'ai fait une gaffe et posté un post incomplet.

    En exécutant le code, j'ai bien "03.11.09".
    Regarde bien la javadoc
    beginIndex - the beginning index, inclusive.
    endIndex - the ending index, exclusive.

  7. #7
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 66
    Points : 41
    Points
    41
    Par défaut
    Super ça marche, Merci beaucoup.

    mais franchement je ne comprend pas pourquoi...

    Pourrais-je savoir pourquoi mes index était faux avant de mettre le sujet résolut.

    Merci

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 149
    Points : 95
    Points
    95
    Par défaut
    Prenons ta chaine de caractere "091103". Pour que ca soit plus claire je vais commencer à découper à partir du debut.
    Donc quand tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    str.substring(0,2);
    il te retourne "09".

    Les chaines comment à l'index 0.
    Faut garder en memoire
    Donc quand tu fais substring(0,2), le découpage commence à l'index 0, l'index de départ est inclu pour le découpage.

    En revanche, l'index de fin est exclusive c'est à dire cet index est exclu, c'est à dire le découpage s'arrête juste avant l'index de la fin donc à la fin le découpage s'opère de l'index 0 à 1. A l'index 0 tu as "0" et à l'index 1, tu as "9". Et tu obtiens "09".

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 149
    Points : 95
    Points
    95
    Par défaut
    Mdr, qu'est ce qui c'est passé .

    Sous "Faut garder en memoire " j'avais mis
    beginIndex - the beginning index, inclusive.
    endIndex - the ending index, exclusive.

  10. #10
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 66
    Points : 41
    Points
    41
    Par défaut
    OK, c'est parfaitement clair pour moi maintenant

    j'ai tout compris.

    Merci de ton aide

    A+.

  11. #11
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    328
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mexique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 328
    Points : 459
    Points
    459
    Par défaut
    Salut,

    Un petit détail supplémentaire:

    signifiant que tu veux extraire de 4 jusq'à la fin, ont peut écrire
    car s'il n'y a pas d'index fin celà signifie extraire de 4 jusqu'à la fin.

    Cordialement,

    Dan

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

Discussions similaires

  1. La méthode substring
    Par luckneli dans le forum Général Java
    Réponses: 2
    Dernier message: 21/10/2014, 23h49
  2. méthode substring javascript
    Par babalastar dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 15/02/2008, 11h53
  3. Probleme d'impression avec la méthode TForm->Print()
    Par Kid Icarus dans le forum C++Builder
    Réponses: 13
    Dernier message: 31/07/2002, 14h26
  4. Réponses: 2
    Dernier message: 10/07/2002, 11h51
  5. Cryptage en C selon la méthode de césat
    Par shenron dans le forum C
    Réponses: 2
    Dernier message: 31/05/2002, 08h22

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