14 Vyhľadávanie a nahrádzanie
Ak chcete špecificky nahradiť údaje v atribútovom poli, môžete použiť funkciu regexp_replace()
v kalkulačke polí QGIS. Táto funkcia umožňuje vyhľadávať textové vzory v poli a nahrádzať ich novým textom. Na vykonanie zložitých nahradení možno použiť jednoduché výrazy aj regulárne výrazy.
Syntax:
regexp_replace("Feldname", 'Suchmuster', 'Ersatztext')
"Názov poľa"
: Pole atribútu, v ktorom sa má vykonať nahradenie."Vzor vyhľadávania"
: Výraz alebo textový vzor, ktorý chcete nahradiť. Môže to byť jednoduchý text alebo regulárny výraz."Náhradný text"
: Text, ktorý má nahradiť nájdený výraz alebo vzor.
Príklad:
Ak chcete nahradiť výraz Term1
výrazom Term2
v poli atribútu s názvom „Názov poľa“, výraz je nasledujúci:
regexp_replace("Feldname", 'Begriff1', 'Begriff2')
V tomto príklade funkcia vyhľadá výskyty term1
v každom dátovom zázname poľa „Názov poľa“ a nahradí ich termínom2
.
Príklad použitia:
Predpokladajme, že atribútové pole „Názov poľa“ obsahuje zoznam druhov stromov a vy chcete nahradiť všetky výskyty výrazu „dub“ výrazom „buk“. Výraz v kalkulačke poľa by potom vyzeral takto:
regexp_replace("Feldname", 'Eiche', 'Buche')
Po vykonaní sa všetky záznamy obsahujúce výraz „dub“ automaticky nahradia výrazom „buk“.
Výhody funkcie regexp_replace():
- Flexibilita: Okrem jednoduchých výrazov možno definovať aj zložité textové vzory pomocou regulárnych výrazov na zachytenie špecifických alebo opakujúcich sa vzorov.
- Presnosť: Pomocou regulárnych výrazov môžete zabezpečiť, aby sa nahradili len požadované výskyty.
- Automatizácia: Funkciu možno použiť pre všetky záznamy údajov v poli atribútu súčasne, vďaka čomu nie sú potrebné manuálne úpravy.
Poznámka:
Ak chcete nahradiť len jednoduché výrazy bez použitia regulárnych výrazov, môžete použiť aj funkciu replace()
, ktorá je v takýchto prípadoch jednoduchšia. Výraz by potom vyzeral takto:
replace("Feldname", 'Begriff1', 'Begriff2')
Funkcia regexp_replace()
však ponúka viac možností, pretože rozpoznáva a mení vzory a zložité textové štruktúry.