BAC PRO CIEL

← Retour Python
Cours en ligne

Python - Module 8

Manipuler les chaînes de caractères
Ce module présente les principales opérations permettant de créer, lire, transformer, analyser, nettoyer et découper des chaînes de caractères en Python.

Sommaire

1. Créer une chaîne de caractères

Une chaîne de caractères est une suite de caractères : lettres, chiffres, espaces, symboles ou ponctuation.

chaine1 = "Bonjour tout le monde" chaine2 = 'Python est cool' chaine_multi_ligne = """Ceci est une chaîne sur plusieurs lignes."""
Une chaîne peut être écrite avec des guillemets doubles " ", des guillemets simples ' ' ou des triples guillemets pour plusieurs lignes.

2. Accéder aux caractères : indexation

Chaque caractère d'une chaîne possède un index. En Python, le premier caractère est à l'index 0.

texte = "Bonjour ça va ?" print(texte[0]) print(texte[4]) print(texte[6]) print(texte[11]) print(texte[-1])
B o r v ?
Caractère Bonjour ça va ?
Index 01234567891011121314
L'index -1 permet d'accéder au dernier caractère de la chaîne.

3. Tranchage : slicing

Le slicing permet d'extraire une partie d'une chaîne de caractères.

phrase = "Programmation" print(phrase[0:7]) print(phrase[4:]) print(phrase[:5]) print(phrase[::2]) print(phrase[::-1])
Program rammation Progr Pormain noitammargorP
Dans phrase[0:7], l'index de fin 7 n'est pas inclus. Les caractères récupérés vont donc de l'index 0 à l'index 6.

4. Modifier la casse

Plusieurs méthodes permettent de modifier les majuscules et minuscules dans une chaîne.

Méthode Rôle
lower() convertit tous les caractères en minuscules
upper() convertit tous les caractères en majuscules
capitalize() met la première lettre en majuscule et le reste en minuscules
title() met la première lettre de chaque mot en majuscule
swapcase() inverse majuscules et minuscules
chaine = "python est TROP bien" print(chaine.capitalize()) chaine = "manger des fruits et des légumes" print(chaine.title()) chaine = "PyThOn" print(chaine.swapcase())
Python est trop bien Manger Des Fruits Et Des Légumes pYtHoN

5. Analyser une chaîne

Longueur avec len()

chaine = "programmation" longueur = len(chaine) print(longueur)
13

Compter avec count()

chaine = "le chemin le plus long n’est pas le plus court" nombre_le = chaine.count("le") print(nombre_le)
3

count() compte les occurrences exactes d'une sous-chaîne.

Rechercher avec find()

chaine = "BAC PRO CIEL à Loches" mot_ciel = chaine.find("CIEL") mot_banane = chaine.find("banane") print(mot_ciel) print(mot_banane)
8 -1

Si le mot recherché n'existe pas, find() renvoie -1.

Tester la présence avec in

if "CIEL" in chaine: print("Mot trouvé")
Mot trouvé

6. Tester le contenu d'une chaîne

Certaines méthodes permettent de vérifier la nature des caractères d'une chaîne.

print("Python".isalpha()) print("P2th0n".isalpha()) print("1235".isdigit()) print("P123O".isdigit()) print("Pyth012n".isalnum()) print("P123@".isalnum()) print(" ".isspace()) print("le 2".isspace())
True False True False True False True False
Méthode Rôle
isalpha() vérifie si tous les caractères sont alphabétiques
isdigit() vérifie si tous les caractères sont des chiffres
isalnum() vérifie si tous les caractères sont alphanumériques
isspace() vérifie si tous les caractères sont des espaces blancs

7. Nettoyer et remplacer

Supprimer les espaces avec strip()

chaine_sale = " Bonjour le monde \n" print(chaine_sale) print(chaine_sale.strip())
Bonjour le monde Bonjour le monde
strip() supprime les espaces au début et à la fin, mais pas au milieu de la chaîne.

Remplacer avec replace()

phrase = "Les pommes sont des légumes. J’aime les légumes." nouvelle_phrase = phrase.replace("légumes", "fruits") print(nouvelle_phrase)
Les pommes sont des fruits. J’aime les fruits.

8. Découper et reconstruire : split() et join()

Découper avec split()

phrase = "Ceci est une phrase" liste_mots = phrase.split(" ") print(liste_mots) csv_data = "Jean,23,Loches" liste_csv = csv_data.split(",") print(liste_csv)
['Ceci', 'est', 'une', 'phrase'] ['Jean', '23', 'Loches']

Reconstruire avec join()

liste_dossier = ["etc", "var", "www", "html"] chaine_construite = "/".join(liste_dossier) print(chaine_construite) liste_num = ["192", "168", "1", "254"] ip_construite = ".".join(liste_num) print(ip_construite)
etc/var/www/html 192.168.1.254
split() transforme une chaîne en liste.
join() transforme une liste en chaîne.

9. Erreurs fréquentes

Index hors limites

texte = "Python" print(texte[20])
IndexError: string index out of range

Confondre index et position

texte = "Python" print(texte[1])
y
Le premier caractère est à l'index 0. Donc texte[1] affiche le deuxième caractère.

Oublier les parenthèses d'une méthode

chaine = "BONJOUR" print(chaine.lower)
Ici, Python affiche l'objet méthode, mais ne transforme pas le texte. Il faut écrire chaine.lower().

10. Synthèse

Voici les notions essentielles à retenir pour ce module.

Accès

  • index
  • index négatif
  • slicing

Transformation

  • lower()
  • upper()
  • capitalize()
  • title()
  • replace()

Analyse

  • len()
  • count()
  • find()
  • in
  • isalpha(), isdigit()

Nettoyage / découpage

  • strip()
  • split()
  • join()
Points clés à retenir :
Une chaîne est une suite de caractères.
Le premier caractère est à l'index 0.
Le slicing permet d'extraire une partie de la chaîne.
split() découpe une chaîne et join() la reconstruit.