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.
qgis
field-calculator
GrahamD
źródło
źródło
Odpowiedzi:
nakazuje QGIS zamianę „(B)” w „(B)” na „Kraj”.
Chcesz
= 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.
źródło
Prawidłowa składnia to replace ([nazwa_pola], „(B)”, „Kraj”)
źródło
Najpierw otwórz kalkulator pola i wybierz funkcję zamiany z ciągu znaków, jak 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;
źródło