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 :

Mettre le contenu d'une variable String dans un tableau de String


Sujet :

Collection et Stream Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 70
    Par défaut Mettre le contenu d'une variable String dans un tableau de String
    J'ai une variable de String qui contient plusieurs prénom (Pedro, barbara, ..). Je veux mettre le contenu de cette variable dans un tableau de String.
    Pourriez vous m'aider ?

  2. #2
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Par défaut
    Tout dépend du séparateur utilisé dans ta string entre chaque prénom. Après tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    String lesPrenoms = "prénom1,prénom2,prénom3";
    String [] lesPrenomsEnTab = lesPrenoms.split(",");
     
    System.out.println(lesPrenomsEnTab[0]); // ce qui te donnera "prénom1"
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 70
    Par défaut
    merci pour ta réponse.
    en fait je développe dans une plat forme Blackberry et j'ai déja testé avec la méthode split mais Eclipse ne la reconnait pas

  4. #4
    Membre éprouvé Avatar de anisj1m
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 067
    Par défaut
    tu utilises un stringtokkenizer:
    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    String [] lesPrenomsEnTab;
    String s = "je,suis,un,string,tout,bizarre";
    StringTokenizer tok = new StringTokenizer(s,",");
     
     
    while(tok.hasMoreTokens( ))
    {
        lesPrenomsEnTab= tok.nextToken( );
    }

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 70
    Par défaut
    j'ai le même problème avec la classe StringTokenizer. Eclipse ne la reconnait pas

  6. #6
    Membre éclairé
    Inscrit en
    Janvier 2011
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 51
    Par défaut
    Ben tu la fais à la main alors

  7. #7
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Par défaut
    Citation Envoyé par SamSer Voir le message
    Ben tu la fais à la main alors
    Exactement, la seule soluce qu'il te reste est de parcourir ta string caractère par caractère. Réecrire la fonction split() en gros.
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 70
    Par défaut
    je ne trouve pas de code pour créer la classe StringTokenizer. Peut-tu me passer un lien ou exemple?

  9. #9
    Membre éprouvé Avatar de anisj1m
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 067
    Par défaut
    bah elle se trouve ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import java.util.StringTokenizer;

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 70
    Par défaut
    j'ai testé dans une plat forme java classique et je trouve que la méthode split fonctionne très bien et simple à implémenter. pouvez vous me passer le code de création de cette méthode ? car j'ai pas réussi à la trouver sur internet

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 70
    Par défaut
    en fait StringTokenizer force lesPrenomsEnTab qu'elle soit une variable de type String et pas un tableau de type String c'est pour ce la j'opte pour la méthode split mais je sais pas ou je trouve son code d'implémentation;

  12. #12
    Membre éclairé
    Inscrit en
    Janvier 2011
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 51
    Par défaut
    Tu réfléchis deux secondes et tu la fais toi-même. Ca prend dix minutes et ça marche très bien aussi...

  13. #13
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Par défaut
    Citation Envoyé par patriot Voir le message
    j'ai testé dans une plat forme java classique et je trouve que la méthode split fonctionne très bien et simple à implémenter. pouvez vous me passer le code de création de cette méthode ? car j'ai pas réussi à la trouver sur internet
    Normal puisque c'est une méthode de base de Java. Comme je te l'ai dis tout à l'heure tu écris toi même ton algo...

    1. Tu fais une boucle qui passe caractère par caractère dans ta String.
    2. Lorsque tu tombes sur le caractère délimiteur, tu sauvegardes ce que tu as lu précédement dans une autre String.
    3. Et ainsi de suite jusqu'à arriver au bout de la String de base.

    @anisj1m : patriot utilise une version pour Blackberry donc il ne dispose pas de toutes les méthodes de base de Java
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  14. #14
    Membre éprouvé Avatar de anisj1m
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 067
    Par défaut
    meme split s'applique sur les string
    mais ....
    ceci est le code source de la classe String tu y trouveras la méthode split:
    http://www.java2s.com/Open-Source/Ja...tring.java.htm

  15. #15
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 54
    Par défaut
    Cadeau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
            /**
             * Performs the logic for the <code>split</code> and 
             * <code>splitPreserveAllTokens</code> methods that do not return a
             * maximum array length.
             *
             * @param str  the String to parse, may be <code>null</code>
             * @param separatorChar the separate character
             * @param preserveAllTokens if <code>true</code>, adjacent separators are
             * treated as empty token separators; if <code>false</code>, adjacent
             * separators are treated as one separator.
             * @return an array of parsed Strings, <code>null</code> if null String input
             */
            private static String[] splitWorker(String str, char separatorChar, boolean preserveAllTokens) {
                // Performance tuned for 2.0 (JDK1.4)
     
                if (str == null) {
                    return null;
                }
                int len = str.length();
                if (len == 0) {
                    return ArrayUtils.EMPTY_STRING_ARRAY;
                }
                List list = new ArrayList();
                int i = 0, start = 0;
                boolean match = false;
                boolean lastMatch = false;
                while (i < len) {
                    if (str.charAt(i) == separatorChar) {
                        if (match || preserveAllTokens) {
                            list.add(str.substring(start, i));
                            match = false;
                            lastMatch = true;
                        }
                        start = ++i;
                        continue;
                    }
                    lastMatch = false;
                    match = true;
                    i++;
                }
                if (match || (preserveAllTokens && lastMatch)) {
                    list.add(str.substring(start, i));
                }
                return (String[]) list.toArray(new String[list.size()]);
            }
     
     
            /**
             * <p>Splits the provided text into an array, separator specified.
             * This is an alternative to using StringTokenizer.</p>
             *
             * <p>The separator is not included in the returned String array.
             * Adjacent separators are treated as one separator.
             * For more control over the split use the StrTokenizer class.</p>
             *
             * <p>A <code>null</code> input String returns <code>null</code>.</p>
             *
             * <pre>
             * StringUtils.split(null, *)         = null
             * StringUtils.split("", *)           = []
             * StringUtils.split("a.b.c", '.')    = ["a", "b", "c"]
             * StringUtils.split("a..b.c", '.')   = ["a", "b", "c"]
             * StringUtils.split("a:b:c", '.')    = ["a:b:c"]
             * StringUtils.split("a b c", ' ')    = ["a", "b", "c"]
             * </pre>
             *
             * @param str  the String to parse, may be null
             * @param separatorChar  the character used as the delimiter
             * @return an array of parsed Strings, <code>null</code> if null String input
             * @since 2.0
             */
            public static String[] split(String str, char separatorChar) {
                return splitWorker(str, separatorChar, false);
            }
    C'est extrait de la Commons Lang 2.5 API d'Apache. Tu peux y aller

Discussions similaires

  1. [AC-2010] mettre le contenu d'une variable dans une requête
    Par idiot dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 12/10/2010, 08h24
  2. Mettre le contenu d'une variable dans un tableau
    Par clement106 dans le forum Langage
    Réponses: 3
    Dernier message: 15/06/2010, 20h48
  3. mettre le contenu d'une variable dans un lien
    Par Levava dans le forum Langage
    Réponses: 11
    Dernier message: 01/06/2008, 14h20
  4. Mettre le contenu d'une table access dans un tableau
    Par jacko842 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 18/01/2008, 11h25
  5. Réponses: 11
    Dernier message: 22/06/2005, 11h04

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