Як використовувати функцію заміни рядка в Field Calculator?


12

У таблиці атрибутів я намагаюсь замінити один рядок іншим за допомогою функції "Замінити". Як приклад, є ряд функцій, поле яких "NAME" містить рядок "(B)", і я хочу замінити це словом "County". Я встановлюю прапорець "Оновити існуюче поле" і використовую наступне вираження

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

Кінцевим результатом є те, що поле "NAME" для кожної функції замінюється на "County" незалежно від того, поле "NAME" спочатку містило рядок "(B)". Будь-яка допомога буде вдячна.


GrahamD, спасибі за повідомлення та підкреслення, дякую за відповідь. У мене точно такий самий виклик. p скорочено для сковороди. Введіть_2 як тестовий стовпчик. Текст скопійовано та вставлено з поля Вираз: замініть ("Тип_2", "р", "Панорама") всім текстом і цитатами червоного кольору. ОК кнопка сіра. Попередній перегляд виводу: помилка вираження помилки парсера: (нічого деталізованого) Помилка Eval: стовпець 'p' не знайдено, я отримаю точно такі ж результати, якщо я перейду Type_2 і p навколо. underdark, будь-які подальші пропозиції будуть вдячні. Дякую
VeM

Відповіді:


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

повідомляє QGIS замінити '(B)' в '(B)' на 'Country'.

Ти хочеш

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

= замініть "(B)" у "Name" на "Country".

Зауважте, що подвійні лапки вказують ім'я поля, тоді як одинарні лапки посилаються на статичний рядок . Вони не взаємозамінні.


@GrahamD, будь ласка, прийміть відповідь, якщо вона вирішила вашу проблему
underdark

7

Власний синтаксис замінюється ([ім'я_поля], '(В)', 'Країна')


3

По-перше, відкрийте калькулятор поля та виберіть функцію заміни із рядка, введіть тут опис зображеннянаприклад, на наступному малюнку:

По-друге, повідомляє QGIS замінити заміну ("Назва поля", "(B)", "Країна"). Наприклад у цьому випадку; Замінити ("MES_TIP", "T", "Rock"):

По-третє, будь ласка, виберіть тип поля виводу: текст (рядок), а потім визначте ім'я поля;введіть тут опис зображення

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.