Partage
  • Partager sur Facebook
  • Partager sur Twitter

Remplacer lettre d'une chaine

à un endroit précis

Sujet résolu
    6 février 2011 à 14:27:37

    Bonjour,

    Je voudrai remplacer une lettre dans une chaîne de caractère à un endroit précis.
    En gros un truc qui fait chaine[i] = 'a'.

    J'ai vu que replace remplace toutes les lettres de la chaîne équivalente à celle entrée en paramètre.
    Il doit bien y avoir une fonction qui fait ça non ?

    Merci d'avance
    Bon dimanche,

    Arkon
    • Partager sur Facebook
    • Partager sur Twitter
      6 février 2011 à 14:47:59

      Salut !

      Tu peux créer une nouvelle chaine de caractères en copiant les lettres avant et après celle que tu souhaites modifier. Il suffit de rajouter la nouvelle lettre entre les deux. Par exemple comme ceci (le code n'est pas condensé du tout, c'est pour illustrer ^^)

      indexLettreAModifier = 3
      chaine = "couleur"
      debut = chaine[:indexAModifier]
      fin = chaine[indexAModifier+1:]
      
      nouvelleChaine = debut + 'r' + fin
      
      • Partager sur Facebook
      • Partager sur Twitter
        6 février 2011 à 18:00:49

        Merci de ta réponse.
        Dans ton code, tu ajoutes un caractères, tu ne remplaces pas. Je cherche à remplacer le ieme caractère d'une chaine.

        EDIT: merci en faîtes tu m'as mit sur la voie :p
        def remplacer (chaine, lettre,i):
        
            deb = chaine[0:(i-1)]
            fin = chaine[i:]
            return deb+lettre+fin
        

        • Partager sur Facebook
        • Partager sur Twitter
          6 février 2011 à 20:04:42

          chaine = "The Cake is a lie"
          newChaine = chaine[:11] + "n't " + chaine[12:]
          


          Comme tu peux le voir, le zéro peut être sous-entendu, ce qui simplifie l'écriture :)
          • Partager sur Facebook
          • Partager sur Twitter
            6 février 2011 à 23:19:53

            ou bien utiliser bytearray() qui accepte les methodes de str()

            >>>chaine = bytearray('hello world')
            >>>print chaine
            hello world
            >>>chaine[5] = '_'
            >>>print chaine
            hello_world
            • Partager sur Facebook
            • Partager sur Twitter

            Python c'est bon, mangez-en. 

              13 décembre 2018 à 22:33:25

              écrire fonction python qui permet de remplacer deux mots mot 1 et mot 2 dans un chaîne donner

              • Partager sur Facebook
              • Partager sur Twitter

              Remplacer lettre d'une chaine

              × 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