cybercursus

Les chaînes de caractères : découper, transformer, assembler

13 min · Intermédiaire · 7 août 2026

Sommaire
  1. Indexer et découper une chaîne
  2. Des méthodes qui renvoient toujours une nouvelle chaîne
  3. Assembler une chaîne à partir d’une liste
  4. À toi de jouer

Indexer et découper une chaîne

Une chaîne se comporte comme une liste de caractères, avec la même syntaxe d’indexation et de slicing :

python
mot = "Bonjour"

print(mot[0])     # B
print(mot[-1])    # r
print(mot[0:3])   # Bon (indices 0, 1, 2 : la fin est exclue)
print(len(mot))   # 7

Des méthodes qui renvoient toujours une nouvelle chaîne

python
phrase = "  Bonjour Le Monde  "

print(phrase.strip())          # "Bonjour Le Monde" (espaces aux extremites retires)
print(phrase.lower())          # "  bonjour le monde  "
print(phrase.strip().split())  # ["Bonjour", "Le", "Monde"] (decoupe sur les espaces)
print(phrase.replace("Le", "Un"))  # "  Bonjour Un Monde  "

Attention

Aucune de ces méthodes ne modifie phrase elle-même : une chaîne est immuable. phrase.lower() sans réaffectation (phrase = phrase.lower()) ne change rien à la variable phrase.

Assembler une chaîne à partir d’une liste

python
mots = ["Bonjour", "Le", "Monde"]
print(" ".join(mots))  # "Bonjour Le Monde"

join fait l’inverse de split : il assemble une liste de chaînes en une seule, séparée par le texte sur lequel il est appelé (un espace, ici).

À toi de jouer

Écris une fonction compter_voyelles(texte) qui renvoie le nombre de voyelles (a, e, i, o, u, sans distinction de majuscule) dans texte.

python
def compter_voyelles(texte):
  # Renvoie le nombre de voyelles dans texte (a, e, i, o, u, sans distinction de casse)
  pass
Que renvoie `"Bonjour"[0:3]` ?
Pourquoi `ma_chaine.upper()` ne modifie-t-il jamais ma_chaine elle-même ?

Pour aller plus loin

Commentaires

Recherche