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 d'un caractere par une chaine


Sujet :

Langage Java

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 106
    Points : 60
    Points
    60
    Par défaut remplacement d'un caractere par une chaine
    Bonjour,

    J'ai un probleme lorsque je recopie un fichier xml, j'ai besoin de remplacer tout les & par &

    pour cela j'utilise replaceAll, mais il ya une erreur.

    Merci de m'aider svp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    for (int i = start; i < start + length; i++) {
     
    				switch (ch[i]) {
    			    case ('&'):
    			    	if (ch[i+1]== ' '){
    				System.out.print("trouve" + ch[i]+ch[i+1] + '!');
    				ch[i].replaceAll("&","&amp");
    				//buf.append("\\\\");
    				break;
    			    	}

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ch[i].replaceAll("&","&amp;");
    Il semble que tu as oublié le ";" à la fin de "&amp;".


    Edit : en fait, c'est plus complexe : tu confonds des char avec des String. Reprends ton code, vérifie ce qui est un char et ce qui est un String, et puis applique ta logique en séparant ces deux concepts.

  3. #3
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 635
    Points : 15 838
    Points
    15 838
    Par défaut
    De plus utilise String.replace() plutôt que String.replaceAll(). Contrairement a ce que son nom semble indique replace remplacera toutes les occurrences de la chaine. et ce plus rapidement que replaceAll.
    replaceAll() par contre fonctionne avec des expressions régulières plutôt qu'une simple chaine de caractère. Dans ton cas particulier, ca ne pose pas de problème mais si tu doit utiliser des caractères spéciaux (comme ., ?, +, *, [, ( , {, ... ) tu auras de mauvaises surprises

  4. #4
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 106
    Points : 60
    Points
    60
    Par défaut
    Bonjour et merci,

    finalement j'ai utilise ce code:

    Code : 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
     
    static String substitute(String input, String substring,String substitute)
     
    		{
     
    		int result;
     
    		StringBuffer newstring;
    		result = input.indexOf(substring);
    		if(result < 0)
    		return input;
     
    		newstring = new StringBuffer();
     
    		newstring.append(input.substring(0, result));
    		newstring.append(substitute);
    		newstring.append(input.substring(result + substring.length()));
    		return newstring.toString();
     
    		}
    Au cas ou ca pourrait servir;

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

Discussions similaires

  1. Remplacer le deuxième champ par une chaine
    Par mond14 dans le forum Shell et commandes GNU
    Réponses: 9
    Dernier message: 22/05/2013, 10h37
  2. Remplacement d'un caractere dans une chaine
    Par marocdivers dans le forum C#
    Réponses: 4
    Dernier message: 07/12/2011, 13h03
  3. remplacer chaîne de caractere par une autre
    Par Invité(e) dans le forum Linux
    Réponses: 4
    Dernier message: 21/07/2010, 14h47
  4. remplacer les occurences d'un caractere dans une chaine par un autre
    Par lity7 dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 14/03/2008, 13h02
  5. Réponses: 2
    Dernier message: 12/03/2008, 14h44

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