Précédent   Forum du club des développeurs et IT Pro > Java > Développement Web en Java > Servlets/JSP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 25/02/2013, 19h03   #1
ejazz75
Candidat au titre de Membre du Club
 
Homme
Développeur informatique
Inscription : juillet 2012
Messages : 69
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Services de proximité

Informations forums :
Inscription : juillet 2012
Messages : 69
Points : 14
Points : 14
Par défaut JSP - ReplaceALL()

Bonjour,

Je sollicite votre aide afin de résoudre un problème dont je n'ai pas la solution après une demi-journée de recherche.

Dans une page JSP, je dois récupérer une chaîne de caractères contenant plusieurs occurrences du caractère * (étoile) - ex : aaa*bbbb*c*dd*ee*f

Mais avant d'afficher cette chaîne de caractères, je dois remplacer les * par un caractère blanc (espace) pour obtenir aaa bbbb c dd ee f

En utilisant la méthode replaceAll(regex, caractère) sur ma chaîne de caractères, je n'arrive pas à trouver la bonne combinaison du regex pour obtenir le résultat voulu.

Cela m'a paru simple au départ, mais j'ai beau essayer plusieurs combinaisons, aucun de mes regex ne fonctionnent correctement.

Je vous remercie par avance pour votre aide si vous avez la solution.

A bientôt.

ejazz75
ejazz75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2013, 19h12   #2
tchize_
Expert Confirmé Sénior
 
Avatar de tchize_
 
Homme
Responsable de service informatique
Inscription : avril 2007
Messages : 18 287
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Responsable de service informatique
Secteur : Service public

Informations forums :
Inscription : avril 2007
Messages : 18 287
Points : 32 766
Points : 32 766
Envoyer un message via MSN à tchize_ Envoyer un message via Skype™ à tchize_
Code :
chaine = chaine.replaceAll("\\*"," ")
tout simplement
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et
Laisse entrer le jour après une nuit sombre. Si tu es toujours là, tu n'es pas faite pour mourir.
tchize_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2013, 11h09   #3
ejazz75
Candidat au titre de Membre du Club
 
Homme
Développeur informatique
Inscription : juillet 2012
Messages : 69
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Services de proximité

Informations forums :
Inscription : juillet 2012
Messages : 69
Points : 14
Points : 14
Par défaut JSP - ReplaceAll()

Bonjour tchize_,
Merci beaucoup pour ta réponse.
J'ai un curieux résultat avec cette proposition de solution.
En effet, quand j'appelle la méthode dans une classe Java, et que j'affiche le résultat par un System.out.println() j'obtiens :
avant : aaaa*bbb*cc*d
après : aaaa bbb cc d
Par contre, cette même méthode appelée dans une JSP, et toujours par System.out.println() j'obtiens le résultat suivant :
avant : aaaa*bbb*cc*d
après : aaaa
As-tu une explication ?
Je ne comprends plus rien.
Merci d'avance pour ta réponse.
ejazz75
PS : quelle serait l'opération inverse de replaceAll("\\*"," ") ==> replaceAll(" ","\\*") ????
ejazz75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2013, 11h17   #4
tchize_
Expert Confirmé Sénior
 
Avatar de tchize_
 
Homme
Responsable de service informatique
Inscription : avril 2007
Messages : 18 287
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Responsable de service informatique
Secteur : Service public

Informations forums :
Inscription : avril 2007
Messages : 18 287
Points : 32 766
Points : 32 766
Envoyer un message via MSN à tchize_ Envoyer un message via Skype™ à tchize_
Citation:
Envoyé par ejazz75 Voir le message
Par contre, cette même méthode appelée dans une JSP, et toujours par System.out.println() j'obtiens le résultat suivant :
avant : aaaa*bbb*cc*d
après : aaaa
As-tu une explication ?
Le code de la jsp ne serait pas le même que celui du .java, je ne vois que ça

Citation:
PS : quelle serait l'opération inverse de replaceAll("\\*"," ") ==> replaceAll(" ","\\*") ????
non, replaceAll(" ","*")

Tout est documenté ici
http://javasearch.developpez.com/j2s...x/Pattern.html
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et
Laisse entrer le jour après une nuit sombre. Si tu es toujours là, tu n'es pas faite pour mourir.
tchize_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2013, 11h42   #5
ejazz75
Candidat au titre de Membre du Club
 
Homme
Développeur informatique
Inscription : juillet 2012
Messages : 69
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Services de proximité

Informations forums :
Inscription : juillet 2012
Messages : 69
Points : 14
Points : 14
Par défaut JSP - ReplaceAll()

Merci pour ta réponse tchize_ et pour le lien.
Le code est le même dans la JSP et le .java
J'essaie de faire quelque chose de simple comme suit :
en java, je fais un setAttribute(...,...) avec 2 mots séparés par un *
et dans ma JSP, je fais juste un getAttribute(...).toString().replaceAll(...,...),
et c'est à ce moment que j'obtiens que le premier mot????
Peut-être que cela peut t'éclairer d'avantage sur le curieux résultat que j'obtiens.
Encore merci pour ton aide.
ejazz75
ejazz75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2013, 12h02   #6
tchize_
Expert Confirmé Sénior
 
Avatar de tchize_
 
Homme
Responsable de service informatique
Inscription : avril 2007
Messages : 18 287
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Responsable de service informatique
Secteur : Service public

Informations forums :
Inscription : avril 2007
Messages : 18 287
Points : 32 766
Points : 32 766
Envoyer un message via MSN à tchize_ Envoyer un message via Skype™ à tchize_
Donne nous le code de ta JSP, pas des bribes.
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et
Laisse entrer le jour après une nuit sombre. Si tu es toujours là, tu n'es pas faite pour mourir.
tchize_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2013, 15h53   #7
ejazz75
Candidat au titre de Membre du Club
 
Homme
Développeur informatique
Inscription : juillet 2012
Messages : 69
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Services de proximité

Informations forums :
Inscription : juillet 2012
Messages : 69
Points : 14
Points : 14
Par défaut JSP - ReplaceAll()

Désolé tchize_, ce n'est pas dans mes intentions de vous donner des bribes de codes. Mes questions et tes réponses me servent pour résoudre des problèmes concernant un projet professionnel et non personnel, je ne peux donc pas montrer mes codes sources.
Par contre, j'ai trouvé une solution de contournement qui fonctionne bien.
En effet, pour obtenir le bon résultat, j'ai opté pour la création d'une fonction javascript qui s'exécutera au chargement de la page JSP (onload), dans laquelle j'appelle de la méthode replace(regex, car).
Encore merci pour ton aide.
ejazz75
ejazz75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2013, 22h03   #8
tchize_
Expert Confirmé Sénior
 
Avatar de tchize_
 
Homme
Responsable de service informatique
Inscription : avril 2007
Messages : 18 287
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Responsable de service informatique
Secteur : Service public

Informations forums :
Inscription : avril 2007
Messages : 18 287
Points : 32 766
Points : 32 766
Envoyer un message via MSN à tchize_ Envoyer un message via Skype™ à tchize_
En gros la méthode cochon

50% des gens qui postent sur ce forum le font pour des projet d'école, le reste pour des projets pro. Si t'as peur que le nom de la boit soit visible, suffit de remplacer. C'est pas poster les 5 lignes qui font le travail qui vont couler ta boite.


Enfin bon, visiblement la solution te conviens.
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et
Laisse entrer le jour après une nuit sombre. Si tu es toujours là, tu n'es pas faite pour mourir.
tchize_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 16h47.


 
 
 
 
Partenaires

Hébergement Web