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

  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 )

  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 : 42
    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 ...)

+ 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, 14h18
  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, 17h46
  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, 12h03
  4. Réponses: 5
    Dernier message: 09/11/2007, 10h59
  5. Réponses: 3
    Dernier message: 21/07/2007, 02h48

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