BOnjour,
je cherche a découper une chaine. Je voudrais récupérer la début de celle ci jusqu'à ce que'elle rencontre un espace.
Merci de votre aide
BOnjour,
je cherche a découper une chaine. Je voudrais récupérer la début de celle ci jusqu'à ce que'elle rencontre un espace.
Merci de votre aide
Tu peux utiliser la classe StringTokenizer
Jette un oeil sur la méthode split de la classe String.
Si c'est une grande chaîne de caractère tu peux passer par Scanner qui te permet d'arrêter à n'importe quel moment.
Tu as le choix de plusieurs méthodes.
Sur la classe String avec split, substring, indexof.
Ou avec la classe StringTokenizer
Edit: grilled![]()
Tu devrais regarder l'API, et plus précisément la classe String. Tu auras toutes les méthodes que tu peux utiliser ... split, match, subString ... bref, la panoplie du manipulateur de Strings ...
[EDIT] triple grillage![]()
mais je voudrais que dès qu'il y ait un espace on récupère une chaine avec que le début sans l'espace...
Hé ben justement, avec tout ce qui t'as été donné tu devrais pouvoir y arriver facilement !![]()
un petit bout de code pourrait m'aider...
Tu as juste a lire la javadoc, c'est pas la mort...Envoyé par franfr57
c bon je veux plus faire ça
aider moi plutôt à trouver une solution qu'a mettre des truc bidon
Merci encore
Exemple avec la classe Scanner (disponible dans la j2se 5):
Sinon avec split:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Scanner sc = new Scanner(tachaine); while(sc.hasNext()) System.out.println(sc.next());
Voilà j'espère que cela t'aura aidé....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 String[] tab = tachaine.split("\\s"); for(int i = 0; i<tab.length; i++) System.out.println(tab[i]);
Pour te former sur Java lis les cours et tutoriels : http://java.developpez.com/cours/
Ben on est désolés, mais il n'y a pas de "solution" comme tu dis, tu as juste à savoir lire. Ou alros tu as mal exposé le probléme.Envoyé par franfr57
Mais un peu de respect mon "pote" nous ne sommes pas à ton service, alors soit tu te bouges les fesses... soit tu te bouges les fesses![]()
...à ne pas chercher... ?Envoyé par franfr57
C'est pas comme ça qu'on apprend. Si tu demandes déjà des bouts de code pour des trucs triviaux comme ça, tu vas demander du code pour tout !
tu ne veux plus faire quoi??Envoyé par franfr57
J'ai d'ailleurs lu sur javablackbelt que StringTokenizer était déconseillée pour les nouvelles programmations, et qu'il fallait lui préférer String.split().Envoyé par afrikha
Je suis bien d'accord![]()
Peux-tu nous expliquer les raisons de cela ?Envoyé par ®om
![]()
Extrait javadoc
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 * <tt>StringTokenizer</tt> is a legacy class that is retained for * compatibility reasons although its use is discouraged in new code. It is * recommended that anyone seeking this functionality use the <tt>split</tt> * method of <tt>String</tt> or the java.util.regex package instead. * <p> * The following example illustrates how the <tt>String.split</tt> * method can be used to break up a string into its basic tokens: * <blockquote><pre> * String[] result = "this is a test".split("\\s"); * for (int x=0; x<result.length; x++) * System.out.println(result[x]); * </pre></blockquote>
Je pense que la raison est simplement qu'utiliser java.util.regex est plus facile, plus puissant et plus rapide en exécution. Rien de tel que les expressions régulières.
ça dépend de la chaineEnvoyé par natha
ça c'est sùr.plus puissant
J'en suis pas sùr : avec les regex il faut compiler le pattern d'abord, et si il est complexe ,ben ça va prendre du temps.et plus rapide en exécution.
Bref c'est un peu relatif tout ça...
Bonnes remarques.
Pour plus de détails j'ai trouvé ça :
http://www.stabile.org/blog/2005/10/...mentaries-etc/
et
http://www.stabile.org/blog/2005/11/...etc-technical/
(pour anglophones).
Partager