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 :

replaceAll(String, Char) problème


Sujet :

Langage Java

  1. #1
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut replaceAll(String, Char) problème
    Bonjour,

    Je dois remplacer dans une chaîne tous les caractères | par le caractère (Char)10.
    La fonctions replaceAll() prend 2 string en argument.
    Comment passer le (Char)10 dans la 2ème string ?

    Merci.

  2. #2
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Pour l'instant je m'en sors avec cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            while(label.indexOf('|') > -1)
            {
              label = label.replace('|', '\n') ;
            }

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    replaceAll("|",String.valueOf((char)10));

  4. #4
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Deux remarques :
    • Le code 10 correspond au caractère de retour-chariot (line-feed), et on utilise généralement '\n'.
    • Pour un simple remplacement d'un caractère par un autre, il vaut mieux utiliser directement replace() ...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    result = str.replace('|', '\n');
     
    // ou
     
    result = str.replace('|', 10);
    a++

    [edit] oups : doublement grillé

  5. #5
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Citation Envoyé par sinok
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    replaceAll("|",String.valueOf((char)10));
    merci

  6. #6
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    enfin je confirme toujours que dans ce cas là il vaut mieux utiliser replace(char,char) que replaceAll()...

    On n'a pas vraiment besoin d'utiliser les expressions régulière pour remplacer un caractère

    a++

  7. #7
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Merci Adiguba, mais comme je le précise dans ma quetion originale, je dois remplacer tous les caratères | par un (char(10).

  8. #8
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Il faut bien lire la doc :
    Citation Envoyé par replace
    http://javasearch.developpez.com/j2s...(char,%20char)

    Returns a new string resulting from replacing all occurrences of oldChar in this string with newChar.
    replace() affecute un simple parcours du tableau de char pour remplacer les caractères... tandis que replaceAll utilise une expression régulière pour reconstruire la chaine (tout comme replaceFirst()).

    a++

  9. #9
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Effectivement, alors que son nom ne le laisse pas présager, replace() remplace effectivement toutes les occurences trouvées.
    Merci pour cette bonne précision.

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

Discussions similaires

  1. Réponses: 17
    Dernier message: 09/06/2015, 15h14
  2. map<string,char,ConvOrdre>
    Par Stany dans le forum SL & STL
    Réponses: 6
    Dernier message: 03/05/2006, 14h30
  3. Problème avec fonctions et string/char
    Par vdumont dans le forum C++
    Réponses: 6
    Dernier message: 08/04/2006, 16h54
  4. Réponses: 21
    Dernier message: 21/11/2005, 09h52
  5. [ tinyint et char ] problème de type
    Par shirya dans le forum Installation
    Réponses: 3
    Dernier message: 05/11/2005, 07h08

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