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 :

[String] Remplacement caractères dans une chaîne


Sujet :

Langage Java

  1. #1
    Membre averti Avatar de Crazyblinkgirl
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 341
    Points : 344
    Points
    344
    Par défaut [String] Remplacement caractères dans une chaîne
    Bonjour,

    Je voudrais remplacer différents caractères dans une chaîne mais je ne trouve pas la bonne syntaxe. Pourtant j'ai suivi une doc mais j'ai une erreur.

    J'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    desc.replace("'","''");
    desc.replace&#40;"<","&lt"&#41;;
    mais j'ai l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Incompatible type for method. Can't convert java.lang.String to char.
                    desc.replace&#40;"<","<"&#41;;
    et même :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    desc.replace&#40;'<','&lt'&#41;;
    et là j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Invalid character constant.
     desc.replace&#40;'<','<'&#41;;
    Merci d'avance pour votre aide!

    [ Modéré par Bulbo ]
    Ajout d'un tag dans le titre
    Les Règles du Forum

  2. #2
    Membre éprouvé
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Points : 935
    Points
    935
    Par défaut
    la méthode replace de String ne remplace qu'un caractère (ou une chaine de un caractère)

    il faut donc ecrire ta propre méthode
    par exemple

    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
        public static String replace&#40;String originalText,
    				 String subStringToFind, String subStringToReplaceWith&#41; &#123;
    	int s = 0;
    	int e = 0;
     
    	StringBuffer newText = new StringBuffer&#40;&#41;;
     
    	while &#40;&#40;e = originalText.indexOf&#40;subStringToFind, s&#41;&#41; >= 0&#41; &#123;
     
    	    newText.append&#40;originalText.substring&#40;s, e&#41;&#41;;
    	    newText.append&#40;subStringToReplaceWith&#41;;
    	    s = e + subStringToFind.length&#40;&#41;;
     
    	&#125;
     
    	newText.append&#40;originalText.substring&#40;s&#41;&#41;;
    	return newText.toString&#40;&#41;;
     
        &#125; // end replace&#40;String, String, String&#41;

  3. #3
    Membre actif
    Inscrit en
    Avril 2004
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 238
    Points : 265
    Points
    265
    Par défaut
    Sinon regarde du coté de la methode replaceAll().
    Mais attention, elle prend en argument une expression reguliere
    "Quand le sage montre la lune,
    L'idiot regarde le doigt."

  4. #4
    Membre expérimenté
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Points : 1 512
    Points
    1 512
    Par défaut
    la methode replace ne fonctionne effectivement qu'avec des caracteres. il faut utiliser replaceAll

    Doc java :
    String replace(char oldChar, char newChar)
    Returns a new string resulting from replacing all occurrences of oldChar in this string with newChar.
    String replaceAll(String regex, String replacement)
    Replaces each substring of this string that matches the given regular expression with the given replacement.
    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
    "La liberté de tout être s'arréte là où commence celle de l'autre... Respecter l'autre, c'est préserver sa liberté d'être, de penser et de vivre"

  5. #5
    Membre averti Avatar de Crazyblinkgirl
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 341
    Points : 344
    Points
    344
    Par défaut
    Merci a tous, ca marche nikel!

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

Discussions similaires

  1. Remplacement de nombreux caractères dans une chaîne
    Par Jean_Peuplus dans le forum Cobol
    Réponses: 3
    Dernier message: 04/11/2008, 16h06
  2. Réponses: 2
    Dernier message: 31/03/2008, 16h18
  3. Réponses: 6
    Dernier message: 05/01/2008, 18h19
  4. Comment remplacer plusieurs caractères dans une chaîne?
    Par Antigonos Ier Gonatas dans le forum Général Python
    Réponses: 5
    Dernier message: 16/06/2006, 17h04
  5. Trouver ' et remplacer par \' dans une chaîne
    Par micatmidog dans le forum Général Python
    Réponses: 9
    Dernier message: 23/12/2005, 17h09

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