Procesador Extraer texto

Este procesador permite extraer cualquier parte de un texto, un número o una combinación de ambos en una columna nueva. Es parecido al procesador Sustituir mediante Regexp salvo que, en lugar de sustituir el contenido en la misma columna, se crea una columna nueva con el texto extraído. La idea es colocar la parte que queremos extraer entre paréntesis. Después, esta parte se extraerá en una columna nueva.

Establecer el procesador

Para establecer los parámetros del procesador Extraer texto, siga las indicaciones de esta tabla.

Etiqueta

Descripción

Obligatorio

Campo

Campo que contiene los valores para extraer.

Expresión regular

Expresión regular para determinar qué parte de los valores se extraerá. Consulte http://en.wikipedia.org/wiki/Regular_expression para obtener más detalles acerca de cómo escribir las expresiones regulares. También puede probar las expresiones regulares con una herramienta de depuración en línea como Regex101.

Ejemplo

Siguiendo con el ejemplo del procesador Sustituir mediante Regexp (de un código postal francés como 44100, conservar solo el código de área 44), el procesador Extraer texto se puede usar para crear otra columna con el código de área seleccionado, en lugar de sustituir el contenido como con el procesador Sustituir mediante Regexp.

Desde un punto de vista técnico, este procesador se puede utilizar para extraer un patrón arbitrario expresado como una expresión regular de una cadena utilizando la subcoincidencia.

La sintaxis de la expresión subcoincidente para especificar es esta: (?P<NOMBRE>REGEXP). Donde:

  • NOMBRE es el nombre de un campo nuevo que recibirá el resultado de la extracción. Este nombre de campo solo puede contener letras, números y guiones bajos (no se permiten caracteres especiales como letras acentuadas o comas).

  • REGEXP es la expresión subcoincidente.

Por ejemplo, supongamos que desea extraer un nombre de calle de una dirección. Es decir, para la dirección:

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

puede desear extraer el valor Pennsylvania Ave NW en un campo street_name.

Tendría que escribir la expresión siguiente:

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

Y si desea extraer el número de calle en un campo street_number, simplemente debe ampliar la expresión anterior:

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