Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/04/2007, à 23:56

Premium

[java]Probleme avec split

Bonsoir,

comment faire pour indiquer qu'il faut découper une chaine de caractere selon les "." en utilisant split
J'ai fait comme ceci :

String tab[] = "bonjour.bonsoir.34.bye.76".split(".");

Mais ça ne fonctionne pas.

Merci

Hors ligne

#2 Le 04/04/2007, à 10:10

Nicolas2b

Re : [java]Probleme avec split

Salut,

Je n'utiliserai pas split si j'étais toi mais plutôt la classe StringTokenizer.

Extrait de l'API

 The following is one example of the use of the tokenizer. The code:

         StringTokenizer st = new StringTokenizer("this is a test");
         while (st.hasMoreTokens()) {
             System.out.println(st.nextToken());
         }
     

prints the following output:

         this
         is
         a
         test

Néanmoins, pour split, peut tu expliquer ce qui

ne fonctionne pas

As tu des erreurs? ou au contraire rien ? Ton tableau est il vide ?


Nicolas.


Ubuntu Gutsy sur ASUS A6JA Q016H
2 Go de RAM
ATI X1600
Core Duo 1,8 GHz

Hors ligne

#3 Le 04/04/2007, à 10:18

iuchiban

Re : [java]Probleme avec split

Oui, dans ton cas tu ferais un

StringTokenizer st = new StringTokenizer("bonjour.bonsoir.34.bye.76", ".");
while (st.hasMoreTokens()) {
  System.out.println(st.nextToken());
}

T'affichera :

bonjour
bonsoir
34
bye
76

C'est depuis que Chuck Norris a laissé la vie sauve à un manchot que l'on dit que Linux est libre.

Chuck Norris n'a pas besoin d'éditer son premier message pour ajouter [Résolu]. Chuck Norris est toujours [Résolu], quoi qu'il arrive.

Hors ligne

#4 Le 04/04/2007, à 13:33

Premium

Re : [java]Probleme avec split

Nicolas2b a écrit :

Salut,

Je n'utiliserai pas split si j'étais toi mais plutôt la classe StringTokenizer.

Extrait de l'API

 The following is one example of the use of the tokenizer. The code:

         StringTokenizer st = new StringTokenizer("this is a test");
         while (st.hasMoreTokens()) {
             System.out.println(st.nextToken());
         }
     

prints the following output:

         this
         is
         a
         test

Néanmoins, pour split, peut tu expliquer ce qui

ne fonctionne pas

As tu des erreurs? ou au contraire rien ? Ton tableau est il vide ?


Nicolas.

Oui le tableau reste vide.
Concernant l'utilisation de StringTokenizer. Comment faire pour que les éléments obtenus soient stockées dans un tableau ?
J'ai besoin de pouvoir les récupérer pour effectuer un traitement sur les chaines obtenues

Dernière modification par Premium (Le 04/04/2007, à 13:35)

Hors ligne

#5 Le 04/04/2007, à 14:25

cledesol

Re : [java]Probleme avec split

Bonjour

split doit fonctionner, mais attention, c'est avec les "regular expression"
Donc tu ne peux pas lui donner "." comme argument car dans une expression régulière
. a une signification bien particulière.

Essaye de le protéger par un anti slash ce qui te donnerait:
String[] tab = taString.split("\.");


Cordialement


Bon, eh bien je vais partir en Théorie parce qu'en Théorie, tout se passe bien ....

Hors ligne

#6 Le 04/04/2007, à 16:00

Nicolas2b

Re : [java]Probleme avec split

Oui le tableau reste vide.
Concernant l'utilisation de StringTokenizer. Comment faire pour que les éléments obtenus soient stockées dans un tableau ?
J'ai besoin de pouvoir les récupérer pour effectuer un traitement sur les chaines obtenues

StringTokenizer st = new StringTokenizer("bonjour.bonsoir.34.bye.76", ".");
String[] tab_str = new String[st.countTokens()];
for ( int i = 0; i<st.countTokens(); i++ )
{
     tab_str[i] = st.nextToken();
}

Nicolas.


Ubuntu Gutsy sur ASUS A6JA Q016H
2 Go de RAM
ATI X1600
Core Duo 1,8 GHz

Hors ligne

#7 Le 22/04/2007, à 14:52

m!ke

Re : [java]Probleme avec split

c str.split("\\.");

#8 Le 18/03/2008, à 03:52

lilli

Re : [java]Probleme avec split

merci beaucoup cledesol et mike

#9 Le 18/03/2008, à 12:05

all

Re : [java]Probleme avec split

Je veux pas etre vexant, mais essayer de donner les bonnes pratiques aux gens qui galerent,
Stringtokenizer n'est plus là que pour la retrocompatibilité...

StringTokenizer 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 split  method of String or the java.util.regex package instead.

from Javadoc

Hors ligne

#10 Le 18/03/2008, à 14:56

Martopioche

Re : [java]Probleme avec split

Merci all pour la référence. Là c'est un peu naze de la part de Sun car mis à part cette dernière partie de la doc, cette notion ne ressort de nul part. Le mot clef deprecated dans la doc est là pour ça. Moi, j'estime être un "ancien" qui connait bien StringTokenizer, et du coup, jamais je n'aurai fait attention à ce bout de documentation perdu au milieu de celle dont on a l'habitude. Jamais je ne vais relire une doc déjà connue par coeur. Par contre, si j'ai une alerte deprecated, j'y tiens compte...

Hors ligne