Processeur Extraire du texte
Ce processeur vous permet d'extraire n'importe quelle partie d'un texte, d'un nombre ou d'une combinaison des deux, et de les placer dans une nouvelle colonne.
Il est similaire au Remplacer via Expression Régulière, sauf qu'au lieu de remplacer le contenu dans la même colonne d'origine, une nouvelle colonne est créée avec le texte extrait.
Configurer le processeur
Pour définir les paramètres du processeur Extraire du texte, suivez les indications du tableau ci-dessous.
Label | Description | Obligatoire |
Champ | Champ contenant les valeurs à extraire. | Oui |
Expression régulière | Expression régulière pour déterminer quelle partie des valeurs sera extraite. Voir https://en.wikipedia.org/wiki/Regular_expression pour plus de détails sur la façon d'écrire une expression régulière.
| Oui |
Exemple
En utilisant le même exemple que le processeur Remplacer avec une expression régulière: à partir d'un code postal français tel que 44100, nous souhaitons conserver uniquement l'indicatif régional, dans ce cas les deux premiers chiffres, donc "44". le processeur Extraire du texte peut être utilisé pour créer une colonne avec le code du département sélectionné au lieu de remplacer le contenu comme avec le processeur Remplacer avec une expression régulière.
D'un point de vue technique, ce processeur peut être utilisé pour extraire un certain motif exprimé sous forme d'expression régulière depuis une chaîne de caractères en utilisant la correspondance.
La syntaxe de l'expression de sous-correspondance est la suivante : (?P<NAME>REGEXP)
. Où:
NOM
est le nom d'un nouveau champ qui recevra le résultat de l'extraction. Ce nom de champ ne peut contenir que des lettres, des chiffres et des underscore (les caractères spéciaux comme les lettres accentuées ou les virgules ne sont pas autorisés).REXGEXP
est l'expression servant à l'extraction.
Par exemple, supposons que vous vouliez extraire un nom de rue d'une adresse. c'est-à-dire pour l'adresse
600 Pennsylvania Ave NW, Washington, DC 20500, United States
vous voudrez peut-être extraire la valeur Pennsylvania Ave NW
dans un champ street_name
.
Il faudrait écrire l'expression suivante :
[0-9]+ (?P<street_name>.*), .*, .*, .*
Et si vous voulez extraire le numéro de rue dans un champ street_number
, étendez simplement l'expression précédente :
(?P<street_number>[0-9]+) (?P<street_name>.*), .*, .*, .*