Python : Manipulation des Strings
Tags: python, french, beginners
Published: 2022-03-21 13:39:55

---
title: Python : Manipulation des Strings
published: true
description: 
tags: Python, French, beginner
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w8avgdlas7dqg5wjjpun.jpg
series: Python crash course
---

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 : <a href="https://twitter.com/EricLeCodeur" class="twitter-follow-button" data-show-count="false">Suivez @EricLeCodeur<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

# 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

```python
name = 'Mike'

# ou

name = "Mike"

```

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

```python
message = "Hello \nWorld"
print(message)
# Hello
# World
```

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](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 {}

```python
name = "Mike"

print(f"Hello {name}")
# Hello Mike
```

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 :

```python
name = "Mike"

print(f"Hello {name.upper()}")
# Hello MIKE
```

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

```python
name = "Mike"

print("Hello " + name)
# Hello Mike
```

### 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)

```python
message = r"https:\\example.com\index.html"
print(message)
# https:\\example.com\index.html
```

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.

```python
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
```

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

```python
product = "iPhone 12"
# position 012345678

print(product[0]) 
# i

print(product[2]) 
# h

print(product[1:6])
# Phone
```

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.

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

# TypeError: 'str' object does not support item assignment
```

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

```python
message = "Hello World";

print(message[-1])
# d
```

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

```python
message = "Hello World";

print(message[:5])
# Hello

print(message[-5:])
# World
```

### 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

```python
name = 'Mike Taylor'

print(name.lower())
# mike taylor

print(name.upper())
# MIKE TAYLOR

```

Supprimer les espaces blancs avant et après une String

```python
message = "  Hello World        "

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

```

Retourner le nombre de caractères dans la String

```python
name = "Mike Taylor"

nb_char = len(name)

print(nb_char)
# 11
```

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

```python
name = "mike"

name_cap = name.capitalize() 

print(name_cap)
# Mike
```

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

```python
name = 'mike Taylor'

name_title = name.title() 

print(name_title)
# Mike Taylor
```

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

```python
name = 'Mike'

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

print(name.endswith('ke')) 
# True
```

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

```python
name = "Mike"

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

print(new_name)
# Pike
```

Retourner la position d’un caractère en particulier

```python
name = "Mike"

print(name.find('k'))
# 2
```

À 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 : <a href="https://twitter.com/EricLeCodeur" class="twitter-follow-button" data-show-count="false">Suivre @EricLeCodeur</a><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>