Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème avec replace("","")

Sujet résolu
    30 janvier 2009 à 21:55:44

    Bonjour à tous, je fais
    System.out.print(str.replace("teste", "test")+str.replace("teste2", "test2"));
    
    , le problème c'est que il me réécrit 2 fois le texte de la variable, au lieu d'une seul fois, comme résoudre svp.

    Merci d'avance :D .
    • Partager sur Facebook
    • Partager sur Twitter
      30 janvier 2009 à 22:15:51

      Tu l'utilises deux fois alors il va l'écrire deux fois...
      • Partager sur Facebook
      • Partager sur Twitter
        30 janvier 2009 à 22:20:44

        Alors comment je fais pour remplacer plusieurs s'il te plaît?
        • Partager sur Facebook
        • Partager sur Twitter
          30 janvier 2009 à 22:20:48

          Tu demande à Java d'afficher une première fois str avec "test" au lieu de "teste"
          str.replace("teste","test");
          

          puis tu ajoute à cette chaîne une deuxième chaîne mais cette fois en remplaçant aussi "teste2" pat "test2" parce que tu met un + .
          +str.replace("teste2", "test2"));
          

          Donc au final tu as assemblé deux chaînes. Fais attention avec le + , c'est pas pour demander à java de faire plusieurs actions à la suite, mais pour concaténer deux chaînes (ou pour additionner deux nombres).

          Donc en fait tu dois faire ça :
          String str2 = str.replace("teste",test");
          String str2 = str2.replace("teste2","test2");
          System.out.println(str2);
          


          Ou bien, si tu ne veux pas déclarer une String supplémentaires, tu écris :
          str = str.replace("teste","test");
          System.out.println(str.replace("teste2","test2"));
          


          Et aussi, pour encore plus contracter, mais là JE SUIS PAS SUR que ça marche, tu pourrais mettre les deux replace à la suite :
          System.out.println(str.replace("teste","test").replace("teste2","test2"));
          


          Mais là faudrait que tu vérifies, je sais pas si tu peux enchaîner deux méthodes comme ça.
          Logiquement tu devrais pouvoir paske [ str.replace("","") ] sa renvoie une chaîne de caractère avec test au lieu de teste , et à cette chaîne de caractères tu appliques la méthode [ .replace("","") } .

          C'est comme ça que je l'imagine, mais j'aimerais bien savoir si ça marche.

          En tout cas, ton problème est résolu ^^.
          • Partager sur Facebook
          • Partager sur Twitter

          Problème avec replace("","")

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown