< All
...
Export

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():

  1. 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.
  2. Presnosť: Pomocou regulárnych výrazov môžete zabezpečiť, aby sa nahradili len požadované výskyty.
  3. 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.