Manipuler les chaînes en Python : recherche, remplacement, concaténation

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Manipuler les chaînes en Python : guide complet

Les bases des chaînes en Python

Les chaînes en Python sont un type de données fondamental pour travailler avec des informations textuelles. Comprendre leur fonctionnement est essentiel pour une programmation efficace.

Les chaînes comme objets de type str

En Python, les chaînes sont des objets du type intégré str. Elles représentent des séquences de caractères Unicode. Chaque chaîne prend en charge de nombreuses méthodes intégrées pour le traitement du texte. Les chaînes permettent d'accéder à des caractères individuels par index. Elles permettent également d'effectuer des opérations de comparaison et de tri.

text = "Python"
print(type(text))  # <class 'str'>
print(len(text))   # 6

Le principe d'immutabilité des chaînes

Les chaînes en Python sont des objets immuables. Cela signifie que toute opération de transformation crée une nouvelle chaîne. La chaîne d'origine reste inchangée. Ce principe garantit la sécurité des données et la prévisibilité du code.

original = "bonjour"
modified = original.upper()
print(original)  # 'bonjour' - inchangée
print(modified)  # 'BONJOUR' - nouvelle chaîne

Différentes façons de créer des chaînes

Python offre plusieurs façons de créer des chaînes :

  • Guillemets simples pour les chaînes simples
  • Guillemets doubles pour les chaînes contenant des apostrophes
  • Guillemets triples pour le texte multiligne
  • Raw-strings pour échapper les caractères spéciaux
simple = 'chaîne simple'
double = "chaîne avec un 'apostrophe'"
multiligne = """Première ligne
Deuxième ligne
Troisième ligne"""
raw = r"chemin\vers\fichier"

Indexation et utilisation des slices

Accéder aux caractères d'une chaîne

Chaque caractère d'une chaîne possède un index. L'indexation commence à zéro. Python prend en charge l'indexation positive et négative.

text = "Python"
print(text[0])   # 'P' - premier caractère
print(text[5])   # 'n' - dernier caractère
print(text[-1])  # 'n' - dernier via index négatif
print(text[-6])  # 'P' - premier via index négatif

Créer des slices de chaînes

Les slices permettent d'extraire des sous-chaînes. La syntaxe est : chaîne[début:fin:pas]. L'index de début est inclus, celui de fin est exclu.

text = "Python Programming"
print(text[1:4])    # 'yth'
print(text[:6])     # 'Python'
print(text[7:])     # 'Programming'
print(text[::2])    # 'Pto rgamn' - un caractère sur deux
print(text[::-1])   # 'gnimmargorP nohtyP' - inversion de la chaîne

Utilisation pratique de l'indexation négative

L'indexation négative simplifie le travail avec la fin d'une chaîne. Elle est particulièrement utile pour traiter des fichiers et des données de longueur variable.

fichier = "document.pdf"
extension = fichier[-4:]  # '.pdf'
nom_partie = fichier[:-4]  # 'document'

Méthodes de recherche dans les chaînes

Méthodes de recherche de base

La méthode find() retourne l'index de la première occurrence d'une sous-chaîne. Si la sous-chaîne n'est pas trouvée, elle retourne -1. La méthode rfind() effectue la recherche depuis la fin de la chaîne.

text = "banane programmation"
print(text.find("ane"))     # 1
print(text.find("python"))  # -1 (non trouvé)
print(text.rfind("ane"))    # 3
print(text.find("a", 2))    # 3 (recherche à partir de la position 2)

Méthodes de recherche strictes avec exceptions

Les méthodes index() et rindex() fonctionnent comme find(). Cependant, elles lèvent une exception ValueError si la sous-chaîne n'est pas trouvée.

text = "banane"
print(text.index("n"))      # 2
# print(text.index("z"))    # ValueError: substring not found

Blogs

Book Recommendations