Séparer une chaîne de caractères par deux points en Python #
Utiliser le str.split()
pour diviser une chaîne de caractères sur les deux points, par ex.
my_list = my_str.split(':')
. Le site str.split
divisera la chaîne de caractères à
à chaque occurrence d’un deux-points et renvoie une liste contenant les résultats.
my_str = 'one:two:three:four'
my_list = my_str.split(':')
print(my_list)
my_str_2 = 'one two:three four five'
my_list_2 = my_str_2.replace(':', ' ').split(' ')
print(my_list_2)
La méthode str.split()
divise la chaîne en une liste de sous-chaînes en utilisant un délimiteur.
La méthode prend les 2 paramètres suivants :
Nom | Description |
---|---|
séparateur | Divise la chaîne en sous-chaînes à chaque occurrence du séparateur. |
maxsplit | Au maximum maxsplit fractionnements sont effectués (facultatif) |
Si le séparateur n’est pas trouvé dans la chaîne, une liste contenant seulement 1 élément est
retournée.
my_str = 'one'
my_list = my_str.split(':')
print(my_list)
Si votre chaîne de caractères commence ou se termine par un deux-points, vous obtiendrez une chaîne de caractères vide
vides dans la liste.
my_str = ':one:two:three:four:'
my_list = my_str.split(':')
print(my_list)
Vous pouvez utiliser la fonction filter()
pour supprimer toute chaîne vide de la liste.
my_str = ':one:two:three:four:'
my_list = list(filter(None, my_str.split(':')))
print(my_list)
La fonction filtre
prend une fonction et un itérable comme arguments et construit un itérateur à partir de
les éléments de l’itérable pour lesquels la fonction renvoie une valeur véridique.
Si vous passez None
pour l’argument de la fonction, tous les éléments erronés de l’itérable sont supprimés.
Toutes les valeurs qui ne sont pas véridiques sont considérées comme fausses. Les valeurs fausses en Python
sont :
- constantes définies comme fausses :
None
etFalse
. 0
(zéro) de tout type numérique- séquences et collections vides :
""
(chaîne vide),()
(tuple vide),[]
(liste vide),{}
(dictionnaire vide),set()
(ensemble vide),range(0)
(plage
vide).
Notez que le filter()
renvoie un filter
donc nous devons utiliser
le site list()
pour convertir la classe filter
en une liste.
Si vous avez besoin de diviser une chaîne de caractères sur les occurrences d’un deux-points et d’un autre caractère, remplacez le deux-points par l’autre caractère et divisez sur ce caractère.
my_str_2 = 'one two:three four five'
my_list_2 = my_str_2.replace(':', ' ').split(' ')
print(my_list_2)
Nous avons remplacé toutes les occurrences d’un deux-points par un espace et divisé la chaîne sur chaque espace.
espace.
Vous pourriez obtenir le même résultat en remplaçant chaque occurrence d’une espace par un
deux-points et en séparant sur chaque deux-points.
my_str_2 = 'one two:three four five'
my_list_2 = my_str_2.replace(' ', ':').split(':')
print(my_list_2)