IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Recherche méthode pour remplacer caracteres illegaux


Sujet :

Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 50
    Points : 37
    Points
    37
    Par défaut Recherche méthode pour remplacer caracteres illegaux
    Bonjour,

    Je souhaite remplacer dans un champ input les caracteres "illégaux" suivants :

    & > < et " par leurs entités xml correspondant afin qu'aucune erreur ne soit générée.

    De plus je souhaite supprimer les accents d'un champ input (pour l'objet d'un mail).


    Savez vous comment je dois m'y prendre, s'il existe une librairie qui gère ça ou si vous avec un code simple pour répondre à ce problème ?

    Merci.

  2. #2
    Membre éprouvé
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Points : 1 085
    Points
    1 085
    Par défaut
    Regarde du côté je jakarta: commons.lang la classe StringEscapeUtils, mais je ne suis pas certains que ça réponde à tes attentes.

  3. #3
    Membre expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Points : 3 083
    Points
    3 083
    Par défaut
    Pour supprimer les accents j'ai ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    	/**
             * Remove accents from a string, replacing them by the corresponding ASCII char.
             * 
             * <p>Symbols <tt>² ° ¨ £ µ § ¤</tt> are deleted.</p>
             * @param s
             */
    	public static String removeAccents(String s) {
    		return Normalizer.normalize(s, Normalizer.DECOMP, 0).replaceAll("[^\\p{ASCII}]", "");
    	}

  4. #4
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 50
    Points : 37
    Points
    37
    Par défaut
    Natha,

    Merci bcp pour ta méthode va surement m'aider enormement surtout si tu m'explique où tu trouves ton replaceAll que je n'arrive à trouver dans aucune librairie.

    Attila.

  5. #5
    Membre éprouvé
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Points : 1 085
    Points
    1 085
    Par défaut
    replaceAll est disponible dans le JDK 1.4 dans la classe String.

    replaceAll

    public String replaceAll(String regex, String replacement)

    Replaces each substring of this string that matches the given regular expression with the given replacement.

    An invocation of this method of the form str.replaceAll(regex, repl) yields exactly the same result as the expression
    Pattern.compile(regex).matcher(str).replaceAll(repl)
    Parameters:regex - the regular expression to which this string is to be matched

    Returns:The resulting String Throws: PatternSyntaxException - if the regular expression's syntax is invalid

    Since:1.4

    See Also:Pattern

  6. #6
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 50
    Points : 37
    Points
    37
    Par défaut
    je tourne sous RAD et il ne comprend rien :
    ni a la fonction split
    ni a la fonction ReplaceAll

    Faut t-il que j'install le JDK 1.4 Windows ? ou faut-il que je dwld une class spéciale puis que je l'importe ?

    Merci pour vos précieuses réponse.

  7. #7
    Membre expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Points : 3 083
    Points
    3 083
    Par défaut
    Il faut travailler au minimum avec Java 1.4 oui.
    Tu travailles sous quel java ?

  8. #8
    Membre éprouvé
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Points : 1 085
    Points
    1 085
    Par défaut
    Citation Envoyé par Attila50
    je tourne sous RAD et il ne comprend rien :
    ni a la fonction split
    ni a la fonction ReplaceAll

    Faut t-il que j'install le JDK 1.4 Windows ? ou faut-il que je dwld une class spéciale puis que je l'importe ?

    Merci pour vos précieuses réponse.
    Normalement RAD utilises le J2SE 1.4.

  9. #9
    Membre éprouvé
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Points : 1 085
    Points
    1 085
    Par défaut
    Citation Envoyé par thibaut
    Regarde du côté je jakarta: commons.lang la classe StringEscapeUtils, mais je ne suis pas certains que ça réponde à tes attentes.
    Pourquoi tu ne testes pas ce que je t'ai proposé !!!

  10. #10
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 50
    Points : 37
    Points
    37
    Par défaut
    je dois donc taper : import org.apache.commons.lang; ? (qui ne marche pas)

    comment puis-je importer et tester si ce #"^ù% de trait rouge sous mon replaceAll disparait sinon ?

    merci Thib

  11. #11
    Membre éprouvé
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Points : 1 085
    Points
    1 085
    Par défaut
    Non télécharger le package.

    http://jakarta.apache.org/commons/lang/

  12. #12
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 50
    Points : 37
    Points
    37
    Par défaut
    Merci thib mais j'ai pas trouvé mon bonheur...

    par contre puis-je utiliser le replace au lieu de replaceAll dans la solution de natha ?
    Logiquement la methode opère pour toutes les occurences de old string vers new string....

  13. #13
    Membre expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Points : 3 083
    Points
    3 083
    Par défaut
    Citation Envoyé par Attila50
    par contre puis-je utiliser le replace au lieu de replaceAll dans la solution de natha ?
    Non tu ne peux pas.
    La méthode replaceAll utilise une expression régulière.

  14. #14
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 50
    Points : 37
    Points
    37
    Par défaut
    Non, en fait, mon RAD utilise la version JDK 1.3.1 visiblement.
    Comment puis-je mettre à jour mon JDK ? Qd je lance Aide>Mise à jour des logiciels, aucune mise à jour n'est dispo.....
    Cela reglera à coup sur mon probleme.

    Merci Nath

  15. #15
    Membre éprouvé
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Points : 1 085
    Points
    1 085
    Par défaut
    Tu utilises WSAD, Eclipse, RAD, Jbuilder ... ???

  16. #16
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 50
    Points : 37
    Points
    37
    Par défaut
    Rad

  17. #17
    Membre éprouvé
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Points : 1 085
    Points
    1 085
    Par défaut
    Tu dois pouvoir sélectionner la JVM...

    Essai d'aller dans Fenêtre/Préférences/Java/Compilateur

  18. #18
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 50
    Points : 37
    Points
    37
    Par défaut
    c'est bien du 1.4 visiblement...
    ça vient donc pas de là
    http://java.sun.com/j2se/1.4.2/docs/...ng/String.html

    me dit que les methodes split et replaceAll sont dispos OR dans mon RAD la class java.lang.string ne les recensse pas !!!!!

    merci

  19. #19
    Membre éprouvé
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Points : 1 085
    Points
    1 085
    Par défaut
    Essaie d'écrire le code avec la méthode split ou replaceAll et de compiler.

  20. #20
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 50
    Points : 37
    Points
    37
    Par défaut
    en fait, ma bilio etait configurée pour un serveur 5.0. En le configurant pour une biblio 5.1, les split et removeAll fonctionnent correctement.

    Merci tout le monde !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Autres méthodes pour remplacer des If
    Par carlou135 dans le forum C++
    Réponses: 7
    Dernier message: 17/01/2007, 03h44
  2. Réponses: 4
    Dernier message: 04/01/2007, 21h37
  3. Recherche méthode pour formater une chaine pour JS
    Par mittim dans le forum Langage
    Réponses: 1
    Dernier message: 05/09/2006, 11h04
  4. Réponses: 8
    Dernier message: 31/05/2006, 13h33
  5. [VBA-E] rechercher une ligne pour remplacer?
    Par zouille dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 31/12/2005, 11h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo