Jak korzystać z funkcji zamiany ciągu w Field Calculator?


12

W tabeli atrybutów próbuję zastąpić jeden ciąg innym ciągiem za pomocą funkcji „zamień”. Na przykład istnieje wiele funkcji, których pole „NAZWA” zawiera ciąg „(B)” i chcę zastąpić to słowem „Hrabstwo”. Wybieram pole wyboru „aktualizuj istniejące pole” i używam następującego wyrażenia

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

W rezultacie pole „NAZWA” dla każdej cechy jest zastępowane przez „Hrabstwo” niezależnie od tego, czy pole „NAZWA” zawierało pierwotnie ciąg „(B)”. Każda pomoc będzie mile widziana.


GrahamD, dzięki za post i podmroku, dzięki za odpowiedź. Mam dokładnie to samo wyzwanie. p w skrócie dla pan. Wpisz 2 jako kolumnę testową. tekst skopiowany i wklejony z pola Wyrażenie: zamień („Type_2”, „p”, „pan”) cały tekst i cytaty na czerwono. przycisk OK wyszarzony. Podgląd danych wyjściowych: wyrażenie niepoprawne Błąd analizatora składni: (nic szczegółowego) Błąd ewaluacji: Nie znaleziono kolumny „p” Otrzymuję dokładnie takie same wyniki, jeśli powinienem zamienić Type_2 i p. podmrok, wszelkie dalsze sugestie będą mile widziane. Dziękuję
VeM

Odpowiedzi:


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

nakazuje QGIS zamianę „(B)” w „(B)” na „Kraj”.

Chcesz

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

= zamień „(B)” w „Nazwa” na „Kraj”.

Zauważ, że podwójne cudzysłowy wskazują nazwę pola, podczas gdy pojedyncze cudzysłowy odnoszą się do ciągu statycznego . Nie są one wymienne.


@GrahamD proszę przyjąć odpowiedź, jeśli rozwiązało to twój problem
podmrok

7

Prawidłowa składnia to replace ([nazwa_pola], „(B)”, „Kraj”)


3

Najpierw otwórz kalkulator pola i wybierz funkcję zamiany z ciągu znaków, wprowadź opis zdjęcia tutajjak na poniższym obrazku:

Po drugie, nakazuje QGIS zastąpienie zastępowania („Nazwa pola”, „(B)”, „Kraj”). Na przykład w tym przypadku; zamień („MES_TIP”, „T”, „Rock”):

Po trzecie, wybierz typ pola wyjściowego: tekst (ciąg), a następnie określ nazwę pola;wprowadź opis zdjęcia tutaj

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.