Python : Manipulation des Strings

ericlecodeur

Eric Le Codeur

Posted on March 21, 2022

Python : Manipulation des Strings

Le cours accéléré Python est gratuit et sera publié ici sur dev.to. Je publierai un nouvel article tous les deux jours environ. Pour ne rien manquer, vous pouvez me suivre sur twitter : Suivez @EricLeCodeur

Manipulation des Strings

Voyons maintenant un peu plus en détail comment créer et manipuler des chaînes de caractères (Strings) avec Python.

Une variable de type String peut être créée avec des guillemets simples ou doubles

name = 'Mike'

# ou

name = "Mike"

Enter fullscreen mode Exit fullscreen mode

Python permet d’insérer des caractères spéciaux dans vos Strings.

message = "Hello \nWorld"
print(message)
# Hello
# World
Enter fullscreen mode Exit fullscreen mode

Le caractère spécial “\n” va être remplacé par un saut de ligne. Python met à votre disposition plusieurs caractères spéciaux. Voici une liste : https://www.w3schools.com/python/gloss_python_escape_characters.asp

Interpolation

L’utilisation du préfixe “f” permet d’afficher le contenu de la variable spécifié entre les crochets {}

name = "Mike"

print(f"Hello {name}")
# Hello Mike
Enter fullscreen mode Exit fullscreen mode

Python peut également exécuter n’importe quelle expression qui se trouve entre les crochets {}, du coup ce concept peut devenir très puissant. Voici en exemple :

name = "Mike"

print(f"Hello {name.upper()}")
# Hello MIKE
Enter fullscreen mode Exit fullscreen mode

Il est également possible de joindre deux Strings avec l'opérateur "+" (plus)

name = "Mike"

print("Hello " + name)
# Hello Mike
Enter fullscreen mode Exit fullscreen mode

Ignorer les caractères spéciaux

L’utilisation du préfixe “r” permet d’afficher le contenu de la String tel quelle. C’est-à-dire sans tenir compte des caractères spéciaux (ex. \n)

message = r"https:\\example.com\index.html"
print(message)
# https:\\example.com\index.html
Enter fullscreen mode Exit fullscreen mode

Ici l’utilisation du préfix “r” permet d’afficher le path correctement. Sinon Python aurait interprété le double backslash "\\" comme un caractère spécial.

String sur plusieurs lignes

Python permet également de créer une String exactement tel que saisie même avec les sauts de lignes. Pour ce faire vous devez utiliser trois guillemets.

message = """This is multiline
String that is easier to
read and assign"""

print(message)
# This is multiline
# String that is easier to
# read and assign
Enter fullscreen mode Exit fullscreen mode

Du coup, la lecture de la String dans le code est très explicite.

Récupération d’une partie de String

Python permet de récupérer seulement une partie de la String.

Une variable String est en effet composé de plusieurs caractères qu’il est possible de lire un à un ou en groupe. Voici quelque exemple

product = "iPhone 12"
# position 012345678

print(product[0]) 
# i

print(product[2]) 
# h

print(product[1:6])
# Phone
Enter fullscreen mode Exit fullscreen mode

Chaques caractères est associé à un numéro de position. La première position est toujours 0. Pour accéder à une position en particulier il faut la spécifier entre crochet []

A noter qu’il n’est pas possible de modifier la String de cette façon. Toute tentative de modification va retourner une erreur.

product = "iPhone 12"
product[0] = "e"

# TypeError: 'str' object does not support item assignment
Enter fullscreen mode Exit fullscreen mode

Il est possible d'accéder aux caractères de la String à partir de la fin.

message = "Hello World";

print(message[-1])
# d
Enter fullscreen mode Exit fullscreen mode

La position -1 représente le dernier caractère, -2 l'avant-dernier, et ainsi de suite.

Lors de la récupération de plusieurs caractères, si une des deux positions est omise, la récupération se fera depuis le début de la String

message = "Hello World";

print(message[:5])
# Hello

print(message[-5:])
# World
Enter fullscreen mode Exit fullscreen mode

Manipulation des Strings

Python a plusieurs fonctions qui vous permettent de transformer le contenu de la String. En voici quelques-unes :

Conversion majuscule et minuscule

name = 'Mike Taylor'

print(name.lower())
# mike taylor

print(name.upper())
# MIKE TAYLOR

Enter fullscreen mode Exit fullscreen mode

Supprimer les espaces blancs avant et après une String

message = "  Hello World        "

print(message.strip())
# "Hello World"

Enter fullscreen mode Exit fullscreen mode

Retourner le nombre de caractères dans la String

name = "Mike Taylor"

nb_char = len(name)

print(nb_char)
# 11
Enter fullscreen mode Exit fullscreen mode

Changer la première lettre d’une String en majuscule

name = "mike"

name_cap = name.capitalize() 

print(name_cap)
# Mike
Enter fullscreen mode Exit fullscreen mode

Changer la première lettre de tous les mots d’une String en majuscule

name = 'mike Taylor'

name_title = name.title() 

print(name_title)
# Mike Taylor
Enter fullscreen mode Exit fullscreen mode

Vérifier si la String commence ou se termine par un ou des caractères en particulier

name = 'Mike'

print(name.startswith('M')) 
# True

print(name.endswith('ke')) 
# True
Enter fullscreen mode Exit fullscreen mode

Remplacer une partie de la String par d’autres caractères

name = "Mike"

new_name = name.replace('M', 'P')

print(new_name)
# Pike
Enter fullscreen mode Exit fullscreen mode

Retourner la position d’un caractère en particulier

name = "Mike"

print(name.find('k'))
# 2
Enter fullscreen mode Exit fullscreen mode

À noter que la première position commence toujours à zéro et si le caractère n’est pas trouvé, la fonction retournera -1

Conclusion

C'est tout pour aujourd'hui, je publierai un nouvel article tous les deux jours environ. Pour être sûr de ne rien rater vous pouvez me suivre sur twitter : Suivre @EricLeCodeur

💖 💪 🙅 🚩
ericlecodeur
Eric Le Codeur

Posted on March 21, 2022

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related