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

baster200x 47 Messages postés vendredi 7 mars 2008Date d'inscription 24 juillet 2011 Dernière intervention - 25 févr. 2009 à 00:30 - Dernière réponse : baster200x 47 Messages postés vendredi 7 mars 2008Date d'inscription 24 juillet 2011 Dernière intervention
- 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 

8 réponses

Répondre au sujet
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 25 févr. 2009 à 07:29
+3
Utile
Salut,

"sa marche mais pas parfaitement " : ben qu'est-ce qui ne marche pas parfaitement ?
______________________________________
DarK Sidious
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_DARKSIDIOUS
Utilisateur anonyme - 25 févr. 2009 à 07:53
+3
Utile
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 /...
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Utilisateur anonyme
Utilisateur anonyme - 26 févr. 2009 à 00:05
+3
Utile
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 /...
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Utilisateur anonyme
Utilisateur anonyme - 26 févr. 2009 à 01:07
+3
Utile
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 /...
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Utilisateur anonyme
baster200x 47 Messages postés vendredi 7 mars 2008Date d'inscription 24 juillet 2011 Dernière intervention - 25 févr. 2009 à 11:16
0
Utile
merci Dani
Commenter la réponse de baster200x
baster200x 47 Messages postés vendredi 7 mars 2008Date d'inscription 24 juillet 2011 Dernière intervention - 25 févr. 2009 à 11:47
0
Utile
ta réponse est juste pour les séparateur suivants: ",  .;" .pour les autre non
merci comme même  
Commenter la réponse de baster200x
baster200x 47 Messages postés vendredi 7 mars 2008Date d'inscription 24 juillet 2011 Dernière intervention - 25 févr. 2009 à 11:55
0
Utile
c'est bon sa marche très bien !
Commenter la réponse de baster200x
baster200x 47 Messages postés vendredi 7 mars 2008Date d'inscription 24 juillet 2011 Dernière intervention - 3 mars 2009 à 13:42
0
Utile
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.