Como usar a função substituir string na Calculadora de Campos?


12

Dentro de uma tabela de atributos, estou tentando substituir uma string por outra usando a função 'replace'. Como exemplo, existem vários recursos cujo campo 'NAME' contém a sequência '(B)' e eu quero substituí-lo pela palavra 'Condado'. Estou marcando a caixa de seleção 'atualizar campo existente' e usando a seguinte expressão

 replace( '(B)','(B)','County')

O resultado final é que o campo 'NAME' para cada recurso é substituído por 'County', independentemente de o campo 'NAME' ter ou não originalmente a string '(B)'. Qualquer ajuda seria apreciada.


GrahamD, obrigado pelo post e underdark, obrigado pela resposta. Eu tenho exatamente o mesmo desafio. p abreviado para pan. Digite_2 como uma coluna de teste. texto copiado e colado da caixa de expressão: substitua ("Type_2", "p", "pan") todo o texto e cotações em vermelho. botão ok acinzentado. Visualização de saída: expressão inválida Erro do analisador: (nada detalhado) Erro de avaliação: a coluna 'p' não foi encontrada. Eu obtenho exatamente os mesmos resultados, devo trocar Type_2 ep. underdark, quaisquer outras sugestões serão apreciadas com gratidão. Obrigado
VeM

Respostas:


22
replace( '(B)','(B)','County')

diz ao QGIS para substituir o '(B)' em '(B)' por 'País'.

Você quer

replace("Name",'(B)','Country')

= substitua '(B)' em "Nome" por 'País'.

Observe que as aspas duplas indicam um nome de campo, enquanto as aspas simples se referem a uma sequência estática . Estes não são intercambiáveis.


@GrahamD por favor, aceite a resposta se ele resolveu o seu problema
Subterrâneo

7

A sintaxe adequada é substituir ([nome_do_campo], '(B)', 'País')


3

Primeiro, abra a calculadora de campo e selecione a função de substituição da opção de sequência, insira a descrição da imagem aquicomo na figura a seguir:

Em segundo lugar, diz ao QGIS para substituir a substituição ("Nome do campo", '(B)', 'País'). Por exemplo, neste caso; substituir ("MES_TIP", 'T', 'Rock'):

Em terceiro lugar, escolha o tipo de campo de saída: texto (string) e determine o nome do campo;insira a descrição da imagem aqui

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.