Fondations Python & la méthode en 6 étapes · Leçon 3 sur 5

Motifs de manipulation de chaînes

Les testeurs vivent dans le texte — lignes de log, lignes CSV, URLs, extraits JSON. Une petite poignée de motifs de chaîne gère presque tout, et aucun n'est difficile.

Par Shahriyar · Mis à jour

L'idée, en une ligne

Vous faites surtout quatre choses au texte : en saisir un morceau, le découper, le nettoyer, et construire une nouvelle chaîne à partir des morceaux.

Index & tranche — saisir un morceau

s[0] est le premier caractère, s[-1] le dernier. Une tranche s[start:end] garde start et s'arrête juste avant end, donc "Python"[0:2] fait "Py". Le tranchage ne plante jamais sur des nombres hors limites — il vous donne juste ce qu'il peut.

Split & join — le duo de travail

Vous parsez une ligne de log ? Découpez-la. Vous construisez une ligne de rapport ? Joignez-la.

Nettoyer & chercher

Construire des résultats avec les f-strings

Une f-string comme f"{name}: {status}" insère les valeurs directement dans le texte — mettez juste un f devant les guillemets et vos noms entre { }. Quand vous collez beaucoup de morceaux, rassemblez-les dans une liste et faites un join une seule fois à la fin.

Voyez-le à l'œuvre

▸ parse_log.py
# Turn a raw log line into fields, then rebuild a clean summary
line = "  2024-05-01,ERROR,login timed out  "

parts = line.strip().split(",")      # ['2024-05-01', 'ERROR', 'login timed out']
date, level, message = parts         # unpack into three names

# Fix the case, then test it
if level.lower() == "error":
    print(f"[{date}] {message.upper()}")

# 'in' checks for a word; replace swaps text
if "timed out" in message:
    print(message.replace("timed out", "TIMEOUT"))

# Build one report row from many fields
print(" | ".join([date, level, "login"]))

Lisez-le de haut en bas : vous avez nettoyé la ligne, l'avez découpée en champs, vérifié et remodelé le texte, puis rejoint les morceaux en une ligne propre. C'est toute la boucle du travail avec le texte.

Avancé — pourquoi join bat le collage avec +

Parce que les chaînes ne peuvent pas changer sur place, chaque + dans une boucle construit une toute nouvelle chaîne et jette l'ancienne. Faites ça mille fois et ça s'accumule. "".join(list_of_pieces) construit le résultat d'un coup à la place — plus propre à lire et plus rapide quand il y a beaucoup de morceaux. Utilisez join chaque fois que vous assemblez du texte dans une boucle.

Basé sur le tutoriel Python officiel & les références courantes des méthodes de chaîne

Toutes les leçons de Fondations Python & la méthode en 6 étapes

  1. Variables, types, structures de contrôle & fonctions
  2. Listes, dicts, ensembles & tuples — quand et pourquoi
  3. Motifs de manipulation de chaînes
  4. La méthode en 6 étapes — un exemple travaillé
  5. Traçage à la main — là où la logique grandit vraiment