A voir également:
- Java-découpage de String
- Jeux java itel ✓ - Forum Jeux vidéo
- Java runtime - Télécharger - Langages
- Java apk - Télécharger - Langages
- Decoupage video - Guide
- Scanf en java ✓ - Forum Java
3 réponses
Désolé il y a un petit problème:
String unePhrase = "Si tu as le temps, tu peux venir avec moi.";
String unePhrase2 = unePhrase.replaceAll(",", " ,");
System.out.println("la phrase : " + unePhrase);
//unePhrase2 = unePhrase.replaceAll("\\.", " \\."); ligne remplacée par la ligne suivante
unePhrase2 = unePhrase2.replaceAll("\\.", " \\.");
System.out.println("la phrase : " + unePhrase);
StringTokenizer chaine;
chaine = new StringTokenizer(unePhrase2);
while (chaine.hasMoreTokens()) {
String tok = chaine.nextToken(); // stocker par exemple dans un tableau
System.out.println("tok = " + tok);
}
Cordialement,
Dan
String unePhrase = "Si tu as le temps, tu peux venir avec moi.";
String unePhrase2 = unePhrase.replaceAll(",", " ,");
System.out.println("la phrase : " + unePhrase);
//unePhrase2 = unePhrase.replaceAll("\\.", " \\."); ligne remplacée par la ligne suivante
unePhrase2 = unePhrase2.replaceAll("\\.", " \\.");
System.out.println("la phrase : " + unePhrase);
StringTokenizer chaine;
chaine = new StringTokenizer(unePhrase2);
while (chaine.hasMoreTokens()) {
String tok = chaine.nextToken(); // stocker par exemple dans un tableau
System.out.println("tok = " + tok);
}
Cordialement,
Dan
Personnellement à ta place je stockerais les résultats de ton tokenizer par les espace dans un tableau de String.
Ensuite il te reste juste à comparer le dernier charactere de chaque mot de ton tableau avec un tableau de charactere ou tu aurais mis l'ensemble des ponctuation que tu veux extraire. Quand ca correspond tu le retires du mot et tu le stock à part.
Ensuite il te reste juste à comparer le dernier charactere de chaque mot de ton tableau avec un tableau de charactere ou tu aurais mis l'ensemble des ponctuation que tu veux extraire. Quand ca correspond tu le retires du mot et tu le stock à part.
Salut,
Tu peux essayer comme ci-dessous:
String unePhrase = "Si tu as le temps, tu peux venir avec moi.";
String unePhrase2 = unePhrase.replaceAll(",", " ,");
System.out.println("la phrase : " + unePhrase);
unePhrase2 = unePhrase.replaceAll("\\.", " \\.");
System.out.println("la phrase : " + unePhrase);
StringTokenizer chaine;
chaine = new StringTokenizer(unePhrase2);
while (chaine.hasMoreTokens()) {
String tok = chaine.nextToken(); // stocker par exemple dans un tableau
System.out.println("tok = " + tok);
}
Cordialement,
Dan
Tu peux essayer comme ci-dessous:
String unePhrase = "Si tu as le temps, tu peux venir avec moi.";
String unePhrase2 = unePhrase.replaceAll(",", " ,");
System.out.println("la phrase : " + unePhrase);
unePhrase2 = unePhrase.replaceAll("\\.", " \\.");
System.out.println("la phrase : " + unePhrase);
StringTokenizer chaine;
chaine = new StringTokenizer(unePhrase2);
while (chaine.hasMoreTokens()) {
String tok = chaine.nextToken(); // stocker par exemple dans un tableau
System.out.println("tok = " + tok);
}
Cordialement,
Dan
17 avril 2009 à 00:34
Voilà le bout de code qui m'intéressait :
StringTokenizer decoupeur = new StringTokenizer(String s," .?!,:;&()[]'",true);
nbmot = decoupeur.countTokens();
phrase = new String[nbmot][2];
int j = 0;
while(j<nbmot){phrase[j][0] = decoupeur.nextToken(); j++;}
En fait il fallait donner une liste des délimiteurs que je souhaitais à StringTokenizersous la forme d'une String, " .?!,:;&()[]'" dans le cas présenté. En mettant true comme troisième paramètre, StringTokenizer me renvoie à chaque fois qu'il les rencontres les espaces, les . , les ?, les !, etc.
Le gros soucis de compréhension que j'ai eu portais sur cette string, je pensais que StringTokenizer l'interpréterais comme un UNIQUE délimitateur 'un peu tordu, certes), et pas comme la liste des délimitateurs que je désirais (les signes de ponctuation et espace).