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 ?
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 ?
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/
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
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( ); }
j'ai le même problème avec la classe StringTokenizer. Eclipse ne la reconnait pas
Ben tu la fais à la main alors![]()
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/
je ne trouve pas de code pour créer la classe StringTokenizer. Peut-tu me passer un lien ou exemple?
bah elle se trouve ici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part import java.util.StringTokenizer;
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
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;
Tu réfléchis deux secondes et tu la fais toi-même. Ca prend dix minutes et ça marche très bien aussi...![]()
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/
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
Cadeau:
C'est extrait de la Commons Lang 2.5 API d'Apache. Tu peux y aller
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); }![]()
Partager