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

avec Java Discussion :

Remplacer un caractère par un autre dans une String


Sujet :

avec Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Remplacer un caractère par un autre dans une String
    bonjour y a t'il une fonction déja implémenté dans java pour remplacer le ième caractère d'une string par un autre caractère?
    merci de vos réponses
    djack

  2. #2
    Membre éclairé Avatar de bruman
    Inscrit en
    Juin 2005
    Messages
    566
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juin 2005
    Messages : 566
    Points : 794
    Points
    794
    Par défaut
    cherche du coté de replaceAll ou replaceFirst de la classe string...
    tu devrais trouver ton bonheur
    Le hardware est la partie de l'ordinateur qui prend les coups quand le software se plante.
    Théoriquement, ça fonctionne, sauf erreur....

  3. #3
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 311
    Points : 318
    Points
    318
    Par défaut
    Je ne sais pas si cela correspond vraiment à ce qu'il veut faire...

    Si tu veux remplacer le caractère à l'indice i par un autre caractère, je ne vois pas de méthode implémentée permettant de le faire directement. Il va falloir passer par un tableau de char temporaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public String changeChar(String chaine, int idx, char monCharRempl) {
      char[] tab = chaine.toCharArray();
      tab[idx - 1] = monCharRempl;
      return String.valueOf(tab);
    }

  4. #4
    Nouveau membre du Club
    Inscrit en
    Février 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 30
    Points : 33
    Points
    33
    Par défaut
    Le mieux c'est d'aller voir là
    http://java.sun.com/javase/6/docs/api/

  5. #5
    Membre confirmé Avatar de miloux32
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 545
    Points : 565
    Points
    565
    Par défaut
    Citation Envoyé par DevTeam_ Voir le message
    Je ne sais pas si cela correspond vraiment à ce qu'il veut faire...

    Si tu veux remplacer le caractère à l'indice i par un autre caractère, je ne vois pas de méthode implémentée permettant de le faire directement. Il va falloir passer par un tableau de char temporaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public String changeChar(String chaine, int idx, char monCharRempl) {
      char[] tab = chaine.toCharArray();
      tab[idx - 1] = monCharRempl;
      return String.valueOf(tab);
    }
    de plus replaceAll ne marche que pour java 1.5 si je ne m'abuse .
    (en tout cas pas en 1.3 )
    C'est pas parce que ca marche que c'est bon!!
    Pensez au bouton "Résolu"
    Je ne réponds pas en privé aux questions

  6. #6
    Membre régulier Avatar de TrYde
    Homme Profil pro
    Responsable de l'industrialisation logiciel
    Inscrit en
    Juillet 2005
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Responsable de l'industrialisation logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 55
    Points : 80
    Points
    80
    Par défaut
    Bonjour,

    Il n'y a pas de fonction toute faite pour ça, mais tu peux le faire rapidement avec l'exemple de DevTeam ou alors tu peux passer par subString :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    String s = "12345";
    // Remplace le 3 (position 2) par un 4
    int positionRemplacee = 2;
    char nouveauChar = '4'
    s = s.subString(0, positionRemplacee) + nouveauChar + s.subString(positionRemplacee+1);
     
    // Affiche 12445
    System.out.println(s);
    Ca tient sur une ligne et tu peux en faire facilement une méthode.

  7. #7
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Heu... Pour les manipulations de String il faut passer par un StringBuffer (voir StringBuilder en Java 5.0) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	String s = "12345";
     
    	StringBuffer buffer = new StringBuffer(s);
    	buffer.setCharAt(2, '4');
     
    	s = buffer.toString();

    a++

    PS : et replaceAll() est apparut dans Java 1.4

  8. #8
    Membre confirmé Avatar de miloux32
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 545
    Points : 565
    Points
    565
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Salut,


    Heu... Pour les manipulations de String il faut passer par un StringBuffer (voir StringBuilder en Java 5.0) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	String s = "12345";
     
    	StringBuffer buffer = new StringBuffer(s);
    	buffer.setCharAt(2, '4');
     
    	s = buffer.toString();

    a++

    PS : et replaceAll() est apparut dans Java 1.4
    J'hésitais entre la 1.3 et la 1.4
    ( et perso vu que je bosse qu'avec ces 2 versions là en permanence ...)
    C'est pas parce que ca marche que c'est bon!!
    Pensez au bouton "Résolu"
    Je ne réponds pas en privé aux questions

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

Discussions similaires

  1. remplacer un caractère par un autre dans une QlineEDIT
    Par philippe63000 dans le forum Débuter
    Réponses: 2
    Dernier message: 10/06/2013, 13h18
  2. Remplacer un "film" par un autre dans une interface
    Par Mizy57 dans le forum Interfaces Graphiques
    Réponses: 6
    Dernier message: 08/04/2013, 16h46
  3. [AC-2010] Remplacer caractères par d'autres dans une chaîne
    Par Invité dans le forum VBA Access
    Réponses: 2
    Dernier message: 26/05/2011, 11h03
  4. Réponses: 5
    Dernier message: 09/11/2007, 09h59
  5. Réponses: 3
    Dernier message: 21/07/2007, 01h48

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