Come utilizzare la funzione di sostituzione della stringa in Field Calculator?


12

All'interno di una tabella di attributi sto cercando di sostituire una stringa con un'altra usando la funzione 'sostituisci'. Ad esempio, ci sono un certo numero di funzioni il cui campo "NAME" contiene la stringa "(B)" e desidero sostituirlo con la parola "Contea". Sto selezionando la casella di controllo "aggiorna campo esistente" e usando la seguente espressione

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

Il risultato finale è che il campo "NOME" per ogni funzione è sostituito da "Contea" indipendentemente dal fatto che il campo "NOME" contenesse o meno la stringa "(B)". Qualsiasi aiuto sarebbe apprezzato.


GrahamD, grazie per il post e underdark, grazie per la risposta. Ho esattamente la stessa sfida. p abbreviato per pan. Digitare_2 come colonna di prova. testo copiato e incollato dalla casella di espressione: sostituisci ("Tipo_2", "p", "panoramica") tutto il testo e le citazioni in rosso. pulsante ok in grigio. Anteprima di output: espressione non valida Errore del parser: (niente di dettagliato) Errore di valutazione: Colonna 'p' non trovata Ottengo esattamente gli stessi risultati se cambio Tipo_2 e p in giro. sottostimato, ogni ulteriore suggerimento sarebbe apprezzato con gratitudine. Grazie
VeM,

Risposte:


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

dice a QGIS di sostituire "(B)" in "(B)" con "Paese".

Tu vuoi

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

= sostituisci "(B)" in "Nome" con "Paese".

Si noti che le virgolette doppie indicano un nome di campo mentre le virgolette singole si riferiscono a una stringa statica . Questi non sono intercambiabili.


@GrahamD per favore accetta la risposta se ha risolto il tuo problema
underdark

7

La sintassi corretta è sostituisci ([field_name], '(B)', 'Country')


3

Innanzitutto, apri il calcolatore di campo e seleziona la funzione di sostituzione inserisci qui la descrizione dell'immaginedall'opzione stringa come nella figura seguente:

In secondo luogo, dice a QGIS di sostituire il sostituto ("Nome campo", "(B)", "Paese"). Ad esempio in questo caso; sostituisci ("MES_TIP", 'T', 'Rock'):

In terzo luogo, selezionare il tipo di campo di output: testo (stringa) e quindi determinare il nome del campo;inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.