14 Ricerca e sostituzione
Per sostituire in modo specifico i dati in un campo di attributi, può utilizzare la funzione regexp_replace()
nel calcolatore di campi di QGIS. Questa funzione le consente di cercare modelli di testo all’interno di un campo e di sostituirli con un nuovo testo. Si possono utilizzare sia termini semplici che espressioni regolari per eseguire sostituzioni complesse.
Sintassi:
regexp_replace("Feldname", 'Suchmuster', 'Ersatztext')
- “
Nome del campo"
: il campo dell’attributo in cui deve essere effettuata la sostituzione. Modello di ricerca'
: il termine o il modello di testo che desidera sostituire. Può essere un semplice testo o un’espressione regolare.Testo sostitutivo'
: il testo che deve sostituire il termine o il modello trovato.
Esempio:
Se desidera sostituire il termine Term1
con Term2
in un campo attributo chiamato “Nome del campo”, l’espressione è la seguente:
regexp_replace("Feldname", 'Begriff1', 'Begriff2')
In questo esempio, la funzione cerca le occorrenze del termine1
in ogni record di dati del campo “Nome del campo” e le sostituisce con il termine2
.
Esempio di applicazione:
Supponiamo che il campo attributo “Nome del campo” contenga un elenco di specie arboree e che lei voglia sostituire tutte le occorrenze del termine “quercia” con “faggio”. L’espressione nella calcolatrice di campo sarà quindi simile a questa:
regexp_replace("Feldname", 'Eiche', 'Buche')
Dopo l’esecuzione, tutte le voci contenenti il termine “quercia” vengono automaticamente sostituite da “faggio”.
Vantaggi di regexp_replace()
:
- Flessibilità: oltre ai termini semplici, è possibile definire anche modelli di testo complessi utilizzando espressioni regolari per catturare modelli specifici o ricorrenti.
- Precisione: utilizzando le espressioni regolari, può assicurarsi che vengano sostituite solo le occorrenze desiderate.
- Automazione: la funzione può essere utilizzata per tutti i record di dati in un campo di attributi contemporaneamente, rendendo superflue le regolazioni manuali.
Nota:
Se desidera sostituire solo termini semplici senza utilizzare le espressioni regolari, può anche utilizzare la funzione replace()
, che è più semplice in questi casi. L’espressione sarà quindi simile a questa:
replace("Feldname", 'Begriff1', 'Begriff2')
Tuttavia, la funzione regexp_replace()
offre più opzioni, in quanto riconosce e modifica modelli e strutture di testo complesse.