Séparer une chaîne par une tabulation en Python #
Utiliser le str.split()
pour diviser une chaîne de caractères par des tabulations, par ex.
my_list = my_str.split('\t')
. Le site str.split
divisera la chaîne de caractères à
chaque occurrence d’une tabulation et renvoie une liste contenant les résultats.
import re
my_str = 'one\ttwo\tthree\tfour'
my_list = my_str.split('\t')
print(my_list)
my_list_2 = re.split(r'\t+', my_str)
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('\t')
print(my_list)
Si votre chaîne de caractères commence ou se termine par une tabulation, vous obtiendrez des éléments de chaîne de caractères vides dans la liste.
vides dans la liste.
my_str = '\tone\ttwo\tthree\tfour\t'
my_list = my_str.split('\t')
print(my_list)
Vous pouvez utiliser la fonction filter()
pour supprimer toute chaîne vide de la liste.
my_str = '\tone\ttwo\tthree\tfour\t'
my_list = list(filter(None, my_str.split('\t')))
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.
Une alternative consiste à utiliser la fonction re.split()
méthode.
Utilisez la méthode re.split()
pour séparer une chaîne de caractères par une tabulation, par exemple
my_list = re.split(r'\t+', my_str)
. Le site re.split()
divise la chaîne de caractères
à chaque occurrence d’un onglet et renvoie une liste contenant les résultats.
import re
my_str = 'one\t\t\ttwo\t\tthree\tfour'
my_list_2 = re.split(r'\t+', my_str)
print(my_list_2)
La méthode re.split prend
un motif et une chaîne et divise la chaîne à chaque occurrence du motif.
Le site \t
correspond aux onglets.
Le plus +
est utilisé pour faire correspondre le caractère précédent (tabulation) une ou plusieurs fois.
Dans son intégralité, l’expression régulière correspond à un ou plusieurs caractères de tabulation.
Ceci est utile lorsque vous souhaitez compter plusieurs tabulations consécutives comme une seule tabulation
lors de la division de la chaîne.