Comment découpé un texte en mots et effectuer les dans un tableau? [Résolu]

Messages postés
47
Date d'inscription
vendredi 7 mars 2008
Dernière intervention
24 juillet 2011
- 25 févr. 2009 à 00:30 - Dernière réponse :
Messages postés
47
Date d'inscription
vendredi 7 mars 2008
Dernière intervention
24 juillet 2011
- 3 mars 2009 à 13:42
bonjour, voila mon problème :
j'ai un texte et je veu le découpé en mots et effectuer les mots dans un tableau "word []" en utilisant StringTokenizer
j'ai utilisé ce code ci-dessus sa marche mais pas parfaitement
                     ..........
                    String[]  words = text.split("[\t\n ,.;:.]", 0);
                    for (int i=0 ;i<words.length ; i++)
                                {
                                  String mot = words[i];
                                 }
                    ...........
merci pour l'aide!.
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Dernière intervention
4 mars 2013
- 25 févr. 2009 à 07:29
3
Merci
Salut,

"sa marche mais pas parfaitement " : ben qu'est-ce qui ne marche pas parfaitement ?
______________________________________
DarK Sidious

Merci cs_DARKSIDIOUS 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de cs_DARKSIDIOUS
Meilleure réponse
- 25 févr. 2009 à 07:53
3
Merci
Salut,

Donc 







çà ne marche pas.


En attendant que tu trouves pourquoi çà ne marche pas, je vais répondre à ta question concernant StringTokenizer.








Il faut qu'on parle le même langage : qu'appelles tu un mot ? Pour moi, c'est une suite de caractères sans espaces. Et pour toi?




Supposons justement le texte:




String texte = "Pour moi, c'est une suite de caractères sans espaces. Et pour toi?";




Ce texte est composé de 12 mots séparés par 1 espace et se prete à l'utilisation de StrigTokenizer:




Mais tout dépend de la structure du texte que tu veux éclater




voici le code:










// la chaine à découper
String laChaine =





"Pour moi, c'est une suite de caracteres sans espaces. Et pour toi?"

;
StringTokenizer text;
String tok =

""

;
text =

new

StringTokenizer(laChaine,

" "

);



int

nbreMots = 0;


while

(text.hasMoreTokens())

// comptage des mots du texte


{
nbreMots++;
tok = text.nextToken();
}

String[] words =

new

String[nbreMots];
text =

new

StringTokenizer(laChaine,

" "

);


for

(

int

i = 0; i < words.length; i++)
{


if

(text.hasMoreTokens())
{
tok = text.nextToken();
words[i] = tok;
}
}
// controle du resultat


for

(

int

i=0 ;i<words.length ; i++)
{
System.out.println(

"words["

+ i +

"] = "

+ words[i]);
}

Cordialement,









...\ Dan /...

Merci Utilisateur anonyme 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
Meilleure réponse
- 26 févr. 2009 à 00:05
3
Merci
Re,

Non, dans mon exemple il y a un séparateur, l'espace qui est entre les 2 "
text = new
StringTokenizer(laChaine, " "); // separateur " "
 
Les autres caractères tels que virgule. point etc feront partie des mots.

Cest pour celà qu'il faut connaître la "structure "de la chaîne.
Si tu ne veux pas la (,) qui suit (moi,) ni le (.) de (espaces.) ni le (?) de (toi?), il faut les ajouter:

(laChaine, " , . ?").

Cordialement,

...\ Dan /...

Merci Utilisateur anonyme 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
Meilleure réponse
- 26 févr. 2009 à 01:07
3
Merci
Ps,

On peut aussi écrire: (laChaine, " ,.?") sans espace entre les séparateurs.
Bien entendu s'il y a l'un des sparateurs (, . ?) à l'interieur d'un mot, ce mot sera découpé
...\ Dan /...

Merci Utilisateur anonyme 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
Messages postés
47
Date d'inscription
vendredi 7 mars 2008
Dernière intervention
24 juillet 2011
- 25 févr. 2009 à 11:16
0
Merci
merci Dani
Commenter la réponse de baster200x
Messages postés
47
Date d'inscription
vendredi 7 mars 2008
Dernière intervention
24 juillet 2011
- 25 févr. 2009 à 11:47
0
Merci
ta réponse est juste pour les séparateur suivants: ",  .;" .pour les autre non
merci comme même  
Commenter la réponse de baster200x
Messages postés
47
Date d'inscription
vendredi 7 mars 2008
Dernière intervention
24 juillet 2011
- 25 févr. 2009 à 11:55
0
Merci
c'est bon sa marche très bien !
Commenter la réponse de baster200x
Messages postés
47
Date d'inscription
vendredi 7 mars 2008
Dernière intervention
24 juillet 2011
- 3 mars 2009 à 13:42
0
Merci
merci Dani
Commenter la réponse de baster200x

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.