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()
:
- 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.
- Precisión: Al utilizar expresiones regulares, puede asegurarse de que sólo se sustituyen las ocurrencias deseadas.
- 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.