Selection de sous chaines

Selection de sous chaines - Java - Programmation

Marsh Posté le 06-02-2007 à 17:27:52    

Bonjour,
J'ai deux chaines de caractères, la seconde étant crée par sélection de mots dans la première.
Lors de l'affichage (sortie en html), le contenu de la seconde chaine doit être souligné dans la première.
Par exemple :
"Voici ma grande chaine de caractères" l'utilisateur sélectionne "caractères", on doit se retrouver avec "Voici ma grande chaine de caractères". Jusque là, pas de souci.

 

Le problème, c'est que l'utilisateur a la possibilité de modifier cette première chaine de caractères. S'il la change en "Des caractères, voici ma grande chaine de caractères", on va se retrouver en sortie avec "Des caractères, voici ma grande chaine de caractères". Actuellement, l'algo mis en place découpe la seconde chaine en prenant des espaces comme séparateur, et cherche chaque mot obtenu dans la première chaine, et ajoute les balises HTML souhaitées autour.

 

Le problème, c'est qu'il faut souligner la seconde occurence de "caractères", car c'est celle là qui a été sélectionnée au départ :/ !

 

J'avais pensé bricoler un système avec des regex, mais étant donné que l'utilisateur peut sélectionner les mots dans n'importe quel ordre, regex impossibles :/ Bref, je ne vois pas trop de solution... :sweat:

 

Qqun a une idée ? Merci !


Message édité par freds45 le 06-02-2007 à 17:30:58

---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

Marsh Posté le 06-02-2007 à 17:27:52   

Reply

Marsh Posté le 06-02-2007 à 22:06:00    

je vois pas comment on pourrait avoir une idée sans que tu ne donnes le moindre détail sur ton contexte ...

Reply

Marsh Posté le 06-02-2007 à 22:35:20    

Dans un fenetre web, l'utilisateur voit la "grande" chaine dans une zone texte. Il peut en selectionner une partie, et appuyer sur un bouton, qui lui copie sa sélection dans une zone de texte en dessous. Il peut en selectionner plusieurs extraits. Une fois qu'il valide, la grande chaine est affichée dans une autre fenetre, avec la sélection soulignée.
Je vois pas trop ce que tu veux, il me semblait que la description du pb était assez claire :spamafote:


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

Marsh Posté le 06-02-2007 à 22:39:51    

(ptain) mais tu parles de javascript  ou quoi ?

 

si oui, mauvais forum, si non, il manque un tas d'info sur ton contexte, ché pas, genre ou/quoi/quand comment tu fais ton bignou, là.


Message édité par the real moins moins le 06-02-2007 à 22:40:38
Reply

Marsh Posté le 07-02-2007 à 00:01:49    

C'est posté dans la section java :p donc... c'est du java
C'est une appli qui utilise struts, dans mon action j'ai deux chaines, la "grande" et la "petite" (morceaux de la grande chaine). En sortie, je dois récupérer la grande chaine, avec des balises html pour souligner les morceaux de la petite chaine comme expliqué dans le 1er post, pour l'afficher dans ma jsp :spamafote:


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

Marsh Posté le 07-02-2007 à 00:16:53    

... en gros tu dois deviner si l'utilisateur à ajouter du texte devant ou derrière "la grande chaine" ou s'il a tout retapé; tu pourrais aussi essayer de deviner s'il veut du rouge ou du vert ?

Reply

Marsh Posté le 07-02-2007 à 00:34:32    

the real moins moins a écrit :

... en gros tu dois deviner si l'utilisateur à ajouter du texte devant ou derrière "la grande chaine" ou s'il a tout retapé; tu pourrais aussi essayer de deviner s'il veut du rouge ou du vert ?


C'est pas moi qui ait fait la spec...

 

On doit juste "savoir" quel extrait de la chaine l'utilisateur a sélectionné.
"Voici un exemple" il selectionne "exemple" ==> affichage de "Voici un exemple"
Il modifie sa chaine en "Pour un exemple, voici un exemple" ==> on doit afficher "Pour un exemple, voici un exemple" la seconde occurence est sélectionnée, car c'est celle qu'il a sélectionné au départ. C'est con, mais c'est comme ça.

 

C'est pas un pb de code, c'est surtout "dans quel sens prendre le probleme", et trouver un algo pour gérer ça :/


Message édité par freds45 le 07-02-2007 à 00:41:28

---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

Marsh Posté le 07-02-2007 à 00:42:40    

ben dans un cas comme ça il "suffit" de "se souvenir" de l'entrée précédente, c'est indiqué quasi noir sur blanc dans ton example; (sauf qu'il a changé la capitale a "voici" ton user)
enfin bref, j'aurais tendance à dire qu'appliquer à la lettre des specs à la con, c'est pas très malin, mais que sans connaitre le réel use case derrière, personne pourra trouver une solution plus intelligente au vrai problème..

Reply

Marsh Posté le 07-02-2007 à 00:51:01    

Je t'ai expliqué le truc en long en large et en travers :/ C'est une appli qui sert à gérer des documents industriels (et je vois pas comment ca va faire avancer le schmilblik de savoir ça, mais bon...)


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

Marsh Posté le 07-02-2007 à 00:56:51    

t'as rien expliqué du tout, hormis le fait qu'on t'as fourgué une spec bidon et que tu ne te poses pas la question du bien fondé de ce qu'on te demande de faire [:spamafote]

Reply

Marsh Posté le 07-02-2007 à 00:56:51   

Reply

Marsh Posté le 07-02-2007 à 08:47:31    

Il me semble que pour la question posée (la reconnaissance des chaines que j'ai exposé deux fois dans le topic), il y a assez d'infos. C'est pas un pb de spec, de langage ou de code, c'est la méthode "comment je fais pour reconnaitre la bonne occurence de la seconde chaine dans la premiere" qu'il me faut. Donc de savoir que ça utilise struts, du php, ou cequetuveux, on s'en fout.

 

Au niveau de la spec j'en sais pas plus, on m'a fourgué ça hier en catastrophe, et il faut que ce soit fait pour la semaine dernière, voila. Et à mon niveau, la spec est déjà faite, et je peux pas la changer à ma guise; donc si tu as une idée, tu l'expliques :)

Message cité 1 fois
Message édité par freds45 le 07-02-2007 à 08:48:47

---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

Marsh Posté le 07-02-2007 à 09:28:14    

freds> Tu fais comme tu veux, mais sur ma courte carrière, je ne sais pas cb de fois je suis retourné voir un analyste pour lui demander : "à quoi ça sert, ce truc", pour en arriver à : "tu crois pas que ce serait plus simple si on faisait comme ceci?".
 
Ceci dit, je ne vois pas de difficulté particulière à ton pb : comme le dit mwin mwin, il suffit de se souvenir de l'entrée précédente, et de jouer dessus, case insensitive.
 
Mais ça sent le soufre, ton truc ("deviner" ne correspondra pas forcément à ce que le end-luser a en tête).

Reply

Marsh Posté le 07-02-2007 à 12:25:30    

freds45 a écrit :

la méthode "comment je fais pour reconnaitre la bonne occurence de la seconde chaine dans la premiere" qu'il me faut.


http://www.prezziesplus.co.uk/lg-miniature-darts.jpg

Reply

Marsh Posté le 07-02-2007 à 13:30:27    


Si c'est pour répondre ce genre de choses et prendre les gens de haut, c'est pas la peine, tu peux laisser tomber. Si tu avais eu une telle attitude sur WS&R, je t'aurais TT sans aucun remord :jap:
 
sircam => merci de tes conseils, je suis allé voir le gars qui a pondu la spec le matin, il est en train de voir avec le client comment régler le cas, et trouver une méthode réalisable.


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

Marsh Posté le 07-02-2007 à 14:16:21    

freds45 a écrit :

Si c'est pour répondre ce genre de choses et prendre les gens de haut, c'est pas la peine, tu peux laisser tomber. Si tu avais eu une telle attitude sur WS&R, je t'aurais TT sans aucun remord :jap:


Ca sent l'abus de pouvoir, le conflit d'intérêts. Ici, sur prog, les mwin mwins font la loi, c0wb0y. Y'a un modo de trop sur ce topic. [:djswad]
 

Spoiler :

S'pour rire [:azylum]


freds45 a écrit :

sircam => merci de tes conseils, je suis allé voir le gars qui a pondu la spec le matin, il est en train de voir avec le client comment régler le cas, et trouver une méthode réalisable.


:jap: Au pire, demande des specs plus précises pour les cas "il faut deviner" et met en évidence les cas limites/douteux, puis reviens si tu sèches encore.


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 07-02-2007 à 15:21:12    

freds45 a écrit :

Si c'est pour répondre ce genre de choses et prendre les gens de haut, c'est pas la peine, tu peux laisser tomber.


Ecoute, je sais que je donne l'air de donner des leçons etc, mais en même temps, je te dis ce que t'as dis sircam, depuis à peu près le début; celui qui prendre "les gens" de haut, il a essayé de te faire remettre en question la façon dont tu envisageais ton problème sans pour autant te prendre par la main pour te dire d'aller voir monsieur le pondeur de spec moisies :O
 

freds45 a écrit :

Si tu avais eu une telle attitude sur WS&R, je t'aurais TT sans aucun remord :jap:

... quant a tes menaces a 2 francs, pardon mais  [:frag_facile]

Reply

Marsh Posté le 07-02-2007 à 15:22:22    

sircam a écrit :

Ca sent l'abus de pouvoir, le conflit d'intérêts. Ici, sur prog, les mwin mwins font la loi, c0wb0y.


dis donc toi, tu vas user ta veste a force de la retourner comme ça :O ça fait un moment que je me retiens de pas te faire remarque tes noob-bashages gratuits et tu viens sortir ça ... :O
 
 
[:dawa]

Reply

Marsh Posté le 07-02-2007 à 16:04:18    

Je casse pas les noobs mais les boulets, ces derniers étant un subset important des premiers il est vrai, mais il ne faut pas confondre.
 
 [:moundir]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed