Extract Text processor

Deze processor laat toe om enig deel van een tekst, een getal of een combinatie van beide te extraheren in een nieuwe kolom. Hij is vergelijkbaar met de Replace via Regexp processor, behalve dat in plaats van de content in dezelfde oorspronkelijke kolom te vervangen, er een nieuwe kolom wordt aangemaakt met de geëxtraheerde tekst. De idee is inderdaad om het deel dat moet worden geëxtraheerd tussen haakjes te plaatsen. Vervolgens zal dit deel worden geëxtraheerd in een nieuwe kolom.

De processor instellen

Om de parameters van de ExtractText processor in te stellen, dient u de aanwijzingen in onderstaande tabel te volgen.

Label

Omschrijving

Verplicht

Veld

Veld dat de waarde(n) bevat die moet(en) worden geëxtraheerd

ja

Regelmatige uitdrukking

Regelmatige uitdrukking om te bepalen welk deel van de waarden zal worden geëxtraheerd. Zie http://en.wikipedia.org/wiki/Regular_expression voor meer informatie over hoe u een regelmatige uitdrukking kunt schrijven. Het is ook mogelijk om regelmatige uitdrukkingen te testen met een online debugger tool, zoals Regex101.

ja

Voorbeeld

Wanneer we hetzelfde voorbeeld gebruiken als voor de Replace via Regexp processor (uit een Franse postcode zoals 44100 behouden we enkel de regiocode 44), kan de Extract Text processor gebruikt worden om een andere kolom aan te maken met de geselecteerde regiocode in plaats van de content te vervangen, zoals bij de Replace via Regexp processor.

Vanuit een meer technisch oogpunt, kan de processor gebruikt worden om een willekeurig uitgedrukt patroon te extraheren als een regelmatige uitdrukking uit een string door gebruik te maken van sub matching.

De syntax van de sub-matching uitdrukking die moet worden gespecificeerd, is de volgende: (?P<NAME>REGEXP). Waarbij:

  • NAME de naam is van een nieuw veld waarin het resultaat van de extractie zal worden geplaatst. Deze veldnaam kan enkel letters, cijfers en laag liggende streepjes (speciale karakters, zoals letters met accenten of komma's zijn niet toegelaten).

  • REXGEXP de sub-match uitdrukking is

Bijvoorbeeld: veronderstel dat u een straatnaam uit een adres wil extraheren. Dat wil zeggen, voor het adres

600 Pennsylvania Ave NW, Washington, DC 20500, États-Unis

wil u mogelijk de waarde Pennsylvania Ave NW extraheren in een veld street_name.

U zou de volgende uitdrukking moeten schrijven:

[0-9]+ (?P<street_name>.*), .*, .*, .*

En indien u het straatnummer wil extraheren in een veld street_number, breidt de vorige uitdrukking dan gewoon uit:

(?P<street_number>[0-9]+) (?P<street_name>.*), .*, .*, .*