< All
...
Export

14 Wyszukaj i zamień

Aby zastąpić dane w polu atrybutu, można użyć funkcji regexp_replace() w kalkulatorze pól QGIS. Funkcja ta umożliwia wyszukiwanie wzorców tekstowych w polu i zastępowanie ich nowym tekstem. Zarówno proste wyrażenia, jak i wyrażenia regularne mogą być używane do wykonywania złożonych zamian.

Składnia:

regexp_replace("Feldname", 'Suchmuster', 'Ersatztext')
  • "Field name": Pole atrybutu, w którym ma zostać dokonana zamiana.
  • "Wzorzec wyszukiwania": termin lub wzorzec tekstowy, który ma zostać zastąpiony. Może to być zwykły tekst lub wyrażenie regularne.
  • "Tekst zastępujący": tekst, który ma zastąpić znaleziony termin lub wzorzec.

Przykład:

Jeśli chcą Państwo zastąpić termin Term1 terminem Term2 w polu atrybutu o nazwie „Nazwa pola”, wyrażenie wygląda następująco:

regexp_replace("Feldname", 'Begriff1', 'Begriff2')

W tym przykładzie funkcja wyszukuje wystąpienia term1 w każdym rekordzie danych pola „Field name” i zastępuje je term2.

Przykład zastosowania:

Załóżmy, że pole atrybutu „Nazwa pola” zawiera listę gatunków drzew i chcą Państwo zastąpić wszystkie wystąpienia terminu „dąb” terminem „buk”. Wyrażenie w kalkulatorze pola wyglądałoby wówczas następująco:

regexp_replace("Feldname", 'Eiche', 'Buche')

Po wykonaniu, wszystkie wpisy zawierające termin „dąb” są automatycznie zastępowane przez „buk”.

Zalety funkcji regexp_replace():

  1. Elastyczność: Oprócz prostych terminów, złożone wzorce tekstowe można również definiować za pomocą wyrażeń regularnych w celu przechwytywania określonych lub powtarzających się wzorców.
  2. Precyzja: Używając wyrażeń regularnych, można zapewnić, że tylko pożądane wystąpienia zostaną zastąpione.
  3. Automatyzacja: Funkcja może być używana dla wszystkich rekordów danych w polu atrybutu w tym samym czasie, dzięki czemu ręczne korekty nie są konieczne.

Proszę zauważyć:

Jeśli chcą Państwo zastąpić tylko proste wyrażenia bez użycia wyrażeń regularnych, można również użyć funkcji replace( ), która jest prostsza w takich przypadkach. Wyrażenie wyglądałoby wtedy następująco:

replace("Feldname", 'Begriff1', 'Begriff2')

Jednak funkcja regexp_replace() oferuje więcej opcji, ponieważ rozpoznaje i zmienia wzorce i złożone struktury tekstowe.