< All
...
Export

14 Procurar e substituir

Para substituir especificamente dados num campo de atributos, pode utilizar a função regexp_replace() na calculadora de campos do QGIS. Esta função permite-lhe procurar padrões de texto num campo e substituí-los por novo texto. Tanto os termos simples como as expressões regulares podem ser utilizados para efetuar substituições complexas.

Sintaxe:

regexp_replace("Feldname", 'Suchmuster', 'Ersatztext')
  • "Nome do campo": o campo de atributo no qual deve ser efectuada a substituição.
  • "Padrão de pesquisa": O termo ou padrão de texto que pretende substituir. Pode ser um texto simples ou uma expressão regular.
  • "Texto de substituição": o texto que deve substituir o termo ou padrão encontrado.

Exemplo:

Se quiser substituir o termo Term1 por Term2 num campo de atributo chamado “Nome do campo”, a expressão é a seguinte:

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

Neste exemplo, a função procura ocorrências do termo1 em cada registo de dados do campo “Nome do campo” e substitui-o pelo termo2.

Exemplo de aplicação:

Suponha que o campo de atributo “Nome do campo” contém uma lista de espécies de árvores e pretende substituir todas as ocorrências do termo “carvalho” por “faia”. A expressão na calculadora do campo teria então o seguinte aspeto:

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

Após a execução, todas as entradas que contenham o termo “carvalho” são automaticamente substituídas por “faia”.

Vantagens de regexp_replace():

  1. Flexibilidade: Para além de termos simples, também pode definir padrões de texto complexos utilizando expressões regulares para captar padrões específicos ou recorrentes.
  2. Precisão: Ao utilizar expressões regulares, pode garantir que apenas as ocorrências pretendidas são substituídas.
  3. Automatização: A função pode ser utilizada para todos os registos de dados num campo de atributos ao mesmo tempo, tornando desnecessários os ajustes manuais.

Note:

Se apenas quiser substituir termos simples sem utilizar expressões regulares, também pode utilizar a função replace(), que é mais direta para esses casos. A expressão seria então parecida com esta:

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

No entanto, a função regexp_replace() oferece mais opções, uma vez que reconhece e altera padrões e estruturas de texto complexas.