< All
...
Export

14 Buscar y reemplazar

Para sustituir específicamente los datos de un campo de atributo, puede utilizar la función regexp_replace() de la calculadora de campos de QGIS. Esta función le permite buscar patrones de texto dentro de un campo y sustituirlos por texto nuevo. Se pueden utilizar tanto términos simples como expresiones regulares para realizar sustituciones complejas.

Sintaxis:

regexp_replace("Feldname", 'Suchmuster', 'Ersatztext')
  • "Nombre del campo": El campo de atributo en el que se va a realizar la sustitución.
  • 'Patrón de búsqueda': El término o patrón de texto que desea reemplazar. Puede ser un texto simple o una expresión regular.
  • 'Texto de sustitución': El texto que debe sustituir al término o patrón encontrado.

Ejemplo:

Si desea sustituir el término Term1 por Term2 en un campo de atributo denominado «Nombre de campo», la expresión es la siguiente:

regexp_replace("Feldname", 'Begriff1', 'Begriff2')

En este ejemplo, la función busca las apariciones del término1 en cada registro de datos del campo «Nombre del campo» y las sustituye por el término2.

Ejemplo de aplicación:

Supongamos que el campo de atributo «Nombre de campo» contiene una lista de especies de árboles y que desea sustituir todas las apariciones del término «roble» por «haya». La expresión en la calculadora de campos tendría entonces este aspecto

regexp_replace("Feldname", 'Eiche', 'Buche')

Tras la ejecución, todas las entradas que contengan el término «roble» se sustituyen automáticamente por «haya».

Ventajas de regexp_replace():

  1. Flexibilidad: Además de términos sencillos, también pueden definirse patrones de texto complejos utilizando expresiones regulares para capturar patrones específicos o recurrentes.
  2. Precisión: Al utilizar expresiones regulares, puede asegurarse de que sólo se sustituyen las ocurrencias deseadas.
  3. Automatización: la función puede utilizarse para todos los registros de datos de un campo de atributo al mismo tiempo, lo que hace innecesarios los ajustes manuales.

Tome nota:

Si sólo desea sustituir términos sencillos sin utilizar expresiones regulares, también puede utilizar la función replace(), que es más sencilla para estos casos. La expresión tendría entonces este aspecto

replace("Feldname", 'Begriff1', 'Begriff2')

Sin embargo, la función regexp_replace() ofrece más opciones, ya que reconoce y modifica patrones y estructuras de texto complejas.