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

Langage Java Discussion :

Remplacement des caractères invalides dans une chaîne


Sujet :

Langage Java

  1. #1
    Expert éminent
    Avatar de elitost
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2003
    Messages
    1 985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 985
    Points : 6 566
    Points
    6 566
    Par défaut Remplacement des caractères invalides dans une chaîne
    Bonjour,

    J'ai la chaîne suivante :

    "pour lutilisation par les"

    Et un caractère invalide pour du XML à l'intérieur, ce caractère est celui ci dans la table ASCII :

    Décimal Octal Hex Binaire Caractère
    ------- ----- --- -------- ------
    025 031 19 00011001 EM (End of Medium)

    Maintenant, comment remplacer dans ma chaîne par du vide ce caractère ASCII  ?

    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Changes l'encodage de ta chaîne pour l'accorder avec celui de ton fichier XML ou changes l'encodage du flux fournissant le document XML au choix
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  3. #3
    Expert éminent
    Avatar de elitost
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2003
    Messages
    1 985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 985
    Points : 6 566
    Points
    6 566
    Par défaut
    J'ai solutionné le pb en encodant les caractères non autorisés dans du XML avec cette méthode :
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
        public final static String encodeNonPrintableCharacters(String s) {
     
     
    	StringBuffer sb = new StringBuffer(s.length() * 2);
    	char ch;
     
    	for (int i = 0; i < s.length(); ++i) {
    	    ch = s.charAt(i);
     
            if (ch <= 31) {
                sb.append("&#");
                sb.append(new Integer(ch).toString());
                sb.append(';');
            }else {
                sb.append(ch); 
            }
     
    	}
    	return sb.toString();
        }

    Merci.

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

Discussions similaires

  1. [XL-2010] Remplacer des caractères variables dans une colonne
    Par Gpadide dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/12/2013, 01h25
  2. Remplacer des caractères spéciaux dans une chaine
    Par enzostar dans le forum Langage
    Réponses: 5
    Dernier message: 29/09/2012, 23h16
  3. Réponses: 3
    Dernier message: 25/11/2008, 18h36
  4. Réponses: 4
    Dernier message: 09/03/2008, 15h36
  5. Réponses: 2
    Dernier message: 26/07/2007, 08h35

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