La brick Chaînes de caractères (catégorie Transform) applique une liste
ordonnée d'opérations de nettoyage et de manipulation de texte : espaces,
casse, remplacements par regex, accents, découpage, concaténation, encodages…
Elle prend un flux en entrée (in) et produit un flux en sortie (out), et
remplace à elle seule treize anciennes bricks atomiques.
Les opérations s'appliquent dans l'ordre déclaré. La plupart convertissent
la colonne ciblée en type texte ; une opération sur une colonne absente est
simplement ignorée.
Opérations disponibles
trim : supprimer les espaces en bordure
| Paramètre | Type | Description |
|---|
columns | liste de textes | Colonnes à nettoyer |
Supprime les espaces (et caractères blancs) en début et fin de valeur.
| nom (avant) | | nom (après) |
|---|
Ada | → | Ada |
Bob | → | Bob |
case : changer la casse
| Paramètre | Type | Description |
|---|
columns | liste de textes | Colonnes ciblées |
mode | texte | lower (défaut), upper ou title |
| nom (avant) | | nom (après, mode title) |
|---|
| jean dupont | → | Jean Dupont |
| MARIE curie | → | Marie Curie |
regex_replace : remplacer
| Paramètre | Type | Description |
|---|
column | texte | Colonne ciblée (requis) |
pattern | texte | Texte recherché (requis) |
replacement | texte | Texte de remplacement (défaut : chaîne vide) |
regex | booléen | Interpréter pattern comme une expression régulière. Une opération créée depuis l'éditeur part à false ; en son absence, la valeur historique true s'applique. |
L'interrupteur Expression régulière de l'éditeur pilote ce paramètre. Laissé
éteint, le texte cherché est pris au pied de la lettre — un point remplace un
point. Allumé, il devient un motif : un point remplace alors n'importe quel
caractère.
| tel (avant) | | tel (après, pattern: [^0-9], replacement: vide) |
|---|
| 06 12-34.56 | → | 06123456 |
| +33 1 22 | → | 33122 |
remove : supprimer un texte
| Paramètre | Type | Description |
|---|
columns | liste | Colonnes ciblées |
pattern | texte | Texte à retirer (requis) |
regex | booléen | Interpréter pattern comme une expression régulière (défaut false) |
Retirer un texte revient à le remplacer par rien. L'opération existe à part
parce qu'elle porte sur plusieurs colonnes à la fois, là où regex_replace
n'en traite qu'une — et parce qu'un champ « remplacement » laissé vide
n'exprime pas la même intention à la relecture.
| ville (avant) | | ville (après, pattern: " (FR)") |
|---|
| PARIS (FR) | → | PARIS |
| LYON (FR) | → | LYON |
Un motif vide ne fait rien, et une colonne absente est ignorée.
strip_accents : supprimer les accents
| Paramètre | Type | Description |
|---|
columns | liste de textes | Colonnes ciblées |
| ville (avant) | | ville (après) |
|---|
| Orléans | → | Orleans |
| Besançon | → | Besancon |
split : découper une colonne
| Paramètre | Type | Description |
|---|
column | texte | Colonne à découper (requis) |
delimiter | texte | Séparateur (défaut ,) |
output_columns | liste de textes | Noms des colonnes produites (requis) |
keep_original | booléen | Conserver la colonne d'origine (défaut false) |
Le découpage produit au maximum autant de morceaux que de colonnes de sortie
(le dernier morceau garde le reste).
Avant → après (delimiter: " ", output_columns: [prenom, nom]) :
| nom_complet | | prenom | nom |
|---|
| Ada Lovelace | → | Ada | Lovelace |
| Alan Turing | → | Alan | Turing |
concat : concaténer des colonnes
| Paramètre | Type | Description |
|---|
columns | liste de textes | Colonnes sources, dans l'ordre (requis) |
separator | texte | Séparateur (défaut : espace) |
output_column | texte | Colonne de sortie (requis) |
Les valeurs vides ou null sont omises (pas de séparateur orphelin).
Avant → après (separator: " ", output_column: nom_complet) :
| prenom | nom | | prenom | nom | nom_complet |
|---|
| Ada | Lovelace | → | Ada | Lovelace | Ada Lovelace |
| Alan | null | → | Alan | null | Alan |
| Paramètre | Type | Description |
|---|
column | texte | Colonne source (requis) |
start | entier | Position de départ, base 0 (défaut 0) |
length | entier | Longueur extraite (optionnel : jusqu'à la fin sinon) |
output_name | texte | Colonne de sortie (défaut : écrase la colonne source) |
| code (avant) | | dept (après, start: 0, length: 2, output_name: dept) |
|---|
| 75001 | → | 75 |
| 13008 | → | 13 |
dedup_spaces : réduire les espaces multiples
| Paramètre | Type | Description |
|---|
columns | liste de textes | Colonnes ciblées |
Remplace toute suite d'espaces par un seul, et supprime ceux en bordure.
| libelle (avant) | | libelle (après) |
|---|
Vis à bois | → | Vis à bois |
base64 : encoder / décoder en Base64
| Paramètre | Type | Description |
|---|
columns | liste de textes | Colonnes ciblées |
mode | texte | encode (défaut) ou decode |
Les valeurs null restent null.
url_encode : encoder / décoder pour URL
| Paramètre | Type | Description |
|---|
columns | liste de textes | Colonnes ciblées |
mode | texte | encode (défaut) ou decode |
| q (avant) | | q (après, mode encode) |
|---|
| café crème | → | caf%C3%A9%20cr%C3%A8me |
format_number : formater un nombre en texte
| Paramètre | Type | Description |
|---|
column | texte | Colonne numérique source (requis) |
format_str | texte | Gabarit de format Python (défaut : deux décimales) |
output_name | texte | Colonne de sortie (défaut : écrase la colonne source) |
Le gabarit suit la syntaxe str.format de Python, par exemple {:.2f} pour
deux décimales ou {:,.0f} pour un séparateur de milliers.
| prix (avant) | | prix (après, deux décimales) |
|---|
| 12.5 | → | 12.50 |
| 8 | → | 8.00 |
normalize : normalisation Unicode
| Paramètre | Type | Description |
|---|
columns | liste de textes | Colonnes ciblées |
mode | texte | nfc (défaut), nfkc, nfd, nfkd ou ascii |
Le mode ascii translittère vers l'ASCII pur en supprimant les caractères
non convertibles (accents compris), plus agressif que strip_accents. Les
formes nfc/nfkc unifient les représentations Unicode équivalentes (utile
avant une comparaison ou une jointure).
Bonnes pratiques
- Enchaînez le nettoyage standard dans une seule brick :
trim →
dedup_spaces → case couvre la majorité des besoins de mise au propre.
- Avant une jointure sur des clés
textuelles, normalisez les deux flux à l'identique (casse, accents, espaces)
pour éviter les non-correspondances silencieuses.
regex_replace avec regex: false est plus sûr pour remplacer un texte
littéral contenant des caractères spéciaux (., +, (…).
- Vérifiez le résultat colonne par colonne avec l'aperçu de données dans
l'éditeur de pipeline.
Anciennes bricks remplacées
Cette méga-brick remplace les bricks atomiques Trim Strings, Normalize
Case, Strip Accents, Regex Replace, Split Column, Concat Columns,
Extract Substring, Deduplicate Spaces, Encode Base64, Decode Base64,
URL Encode, Format Number et Normalize. Voir
Bricks héritées pour la
table de correspondance.