Processeur Extraire du texte¶
Ce processeur permet d'extraire une partie d'un texte, d'un nombre ou d'une combinaison des deux dans une nouvelle colonne. Il est identique au processeur Remplacer via Expression Régulière, mais au lieu de remplacer le contenu dans la même colonne d'origine, une colonne est créée avec le texte extrait. L'idée consiste en fait à placer la partie à extraire entre parenthèses. Cette partie sera ensuite extraite dans une nouvelle colonne.
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 permettant de déterminer la partie des valeurs qui sera extraite. Consultez https://en.wikipedia.org/wiki/Regular_expression pour plus d'informations sur l'utilisation des expressions régulières. Vous pouvez également tester les expressions régulières avec un débogueur en ligne comme Regex101. |
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, gardez uniquement le code de département 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.

Dans cet exemple, nous utilisons la chaine (?P<area>[0-9]{2})[0-9]{3}
. [0-9]
signifie n'importe quel numéro et {2}
ou {3}
signifient le nombre de numéro recherchés. Dans ce cas, nous voulons extraire les deux premiers numéros, nous utilisons donc les parenthèses; après les parenthèses, nous plaçons le reste de la chaîne que nous ne voulons pas écrire, ici les 3 numéros restants. L'expression spéciale ?P<area>
permet de spécifier le nom de la nouvelle colonne.
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 d'extraction est la suivante: (?P<NOM>REGEXP)
. Où :
NOM
est le nom d’un nouveau champ qui recevra le résultat de l’extraction. Ce nom ne peut contenir que des lettres, des chiffres et des underscore (_
). Les caractères spéciaux tels que les lettres accentuées ou les virgules ne sont pas autorisés.REGEXP
est l'expression servant à l'extraction.
Par exemple, supposons que vous voudriez extraire le nom de rue depuis une adresse. C'est à dire, pour l'adresse
600 Pennsylvania Ave NW, Washington, DC 20500, États-Unis
vous voudriez extraire la valeur Pennsylvania Ave NW
dans un champ street_name
.
Vous devriez écrire l'expression suivante :
[0-9]+ (?P<street_name>.*), .*, .*, .*
Et si vous souhaitiez extraire le numéro depuis un champ street_number
, il suffirait d'étendre l'expression précédente :
(?P<street_number>[0-9]+) (?P<street_name>.*), .*, .*, .*