Méthode java troncature de terme
cilasasuki
Messages postés
14
Date d'inscription
Statut
Membre
Dernière intervention
-
c -
c -
Bonjour,
je dois indexer un document et pour se faire j'ai tout d'abord extrais les termes en reconnaissant les séparateurs (,;...) et puis je teste si le mot est vide (les articles le la les, les prépositions ...etc sont des mots vides)et s'il a plus de 7caractères je dois le tronquer puis le rendre minuscule,c'est à ce niveau que je suis bloquée
je cherche une méthode java qui permet de tronquer un terme ayant une longueur>7 caractères
je dois indexer un document et pour se faire j'ai tout d'abord extrais les termes en reconnaissant les séparateurs (,;...) et puis je teste si le mot est vide (les articles le la les, les prépositions ...etc sont des mots vides)et s'il a plus de 7caractères je dois le tronquer puis le rendre minuscule,c'est à ce niveau que je suis bloquée
je cherche une méthode java qui permet de tronquer un terme ayant une longueur>7 caractères
A voir également:
- Méthode java troncature de terme
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
1 réponse
Je sais pas si c'est vraiment ce que tu cherches, mais tu peux "tronquer" en utilisant la méthode substring, non ?
myString = myString.substring(0,7);
En utilisant ça, tu devrais remplacer le contenu initial de myString par ses 7 premiers caractères. En utilisant une structure de contrôle sur la taille de ta chaîne, ça exécute le traitement que tu souhaites.
En espérant avoir pu t'aider ! :)
myString = myString.substring(0,7);
En utilisant ça, tu devrais remplacer le contenu initial de myString par ses 7 premiers caractères. En utilisant une structure de contrôle sur la taille de ta chaîne, ça exécute le traitement que tu souhaites.
En espérant avoir pu t'aider ! :)
j'éspère que vous avez compris et aussi ça me ferais plaisir si vous m'aidiez merci d'avance
myString correspond dans ton cas au terme à indexer, peu importe si tu connais sa longueur ou non :
if (myString.length() > 7)
{
myString = myString.substring(0,7); // On tronque le terme
myString = myString.toLowerCase(); // On met le terme en minuscules
}
Je te renvoie pour plus de détails à l'API Java concernant les traitements sur des chaînes de caractères : http://docs.oracle.com/javase/6/docs/api/
ainsi dans la phrase:" le processus d'indexation de document " on ne prend que processus indexation et document, ces derniers sont repérés après avoir été comparés à une liste de mots vides(stoplist), car vers la fin on attribue à ces termes des poids qui indique leurs importance dans le document,
ce poids est calculé en se basant sur le nombre de fois ou ce terme est répété dans le document c'est à dire la fréquence de terme dans le document, généralement les article les prépositions et les prenons se répètent plusieurs fois dans n'importe quel document ;
et donc ils ne peuvent pas à représenter ni distinguer un document par rapport aux autres documents,
c'est pour cette raison il ne faut pas les prendre en considération,je voudrais que vous m'aidiez à la construction de la stoplist, et si par exemple en me propose une stopliste définie comment je peux comparer les termes à cette liste, on m' a proposé d'insérer cette liste dans un tableau,
en résumé je dois programmer les instructions suivantes:
string terme;
terme= getNextteme ; (qu'un autre doit programmer, elle qui permet d'extraire un terme de document ).
insérer la stoplist dans un tableau ;
parcourir le tableau en comparant le terme aux éléments de ce dernier.
si ce terme n'appartient pas à cette liste alors la suite est le code que vous m'avez donné.
je vous remercie encore une autre fois.
Tu oublies de donner une information importante : d'où provient ta stoplist ? D'un traitement informatique dans le programme (et donc dans ce cas, d'une structure Java), ou d'un fichier ?
Je te donne tout de même des indications sur les deux structures :
Tu peux déclarer une liste de String (List<String> list = new ArrayList<String>() ), puis ajouter les termes en utilisant la méthode add, que tu utilises dans une boucle jusqu'à insérer le dernier terme de la stoplist. À toi de voir comment détecter la fin de la stoplist, selon sa provenance.
Ensuite, pour vérifier l'appartenance d'un terme à cette liste, tu utilise la méthode indexOf(tonTerme), qui te renvoie soit sa position dans la liste (si le terme y appartient), soit la valeur "-1" s'il n'y appartient pas (c'est le cas qui t'intéresse). Tu n'as plus qu'à intercepter la valeur de retour, tester si elle est égale à -1, puis tu appliques le traitement que je t'ai donné.
Avec un tableau, tu utilises une boucle for (dont la condition de sortie dépend de la provenance de la stoplist) pour le remplir après l'avoir initialisé avec le nombre d'éléments de la stoplist. C'est un bémol par rapport à la structure List<String> si tu n'as pas de moyen évident de connaître le nombre d'éléments.
Pour vérifier l'appartenance d'un terme à la stoplist, tu as deux manières de faire : avec un while ou un for.
boolean appartientStoplist = false;
for (int i = 0; i < tonTableauStoplist.size() && appartientStoplist == false; i++)
{
if ( tonTableauStoplist[i] == tonTerme)
{
appartientStoplist = true;
}
}
Tu testes ensuite la valeur de appartientStoplist pour déterminer si tu poursuis le traitement ou non.
C'est le même principe avec le while, tu utilises comme condition de parcours tonTableauStoplist[i] == tonTerme (après avoir initialisé i bien évidemment), tu incrémentes. A la sortie de la boucle, tu testes la valeur de i par rapport au nombre d'éléments de la stoplist.