Как использовать функцию замены строки в полевом калькуляторе?


12

В таблице атрибутов я пытаюсь заменить одну строку другой, используя функцию замены. Например, есть ряд объектов, чье поле «NAME» содержит строку «(B)», и я хочу заменить это словом «County». Я выбираю флажок «обновить существующее поле» и использую следующее выражение

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

Конечным результатом является то, что поле «ИМЯ» для каждого объекта заменяется на «Округ» независимо от того, содержало ли поле «ИМЯ» строку «(В)». Любая помощь будет оценена.


GrahamD, спасибо за пост и недоделку, спасибо за ответ. У меня точно такой же вызов. p сокращенно для панорамы. Введите_2 в качестве тестового столбца. текст скопирован и вставлен из поля выражения: замените ("Type_2", "p", "pan") весь текст и цитаты красным цветом. кнопка ОК неактивна. Предварительный просмотр вывода: выражение недопустимо Ошибка синтаксического анализатора: (ничего не детализировано) Ошибка оценки: Столбец «p» не найден. Я получаю точно такие же результаты, если я переключу Type_2 и p. Подземная, любые дальнейшие предложения будут с благодарностью. Спасибо
VeM

Ответы:


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

говорит QGIS заменить «(B)» в «(B)» на «Country».

Ты хочешь

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

= заменить «(B)» в «Имя» на «Страна».

Обратите внимание, что двойные кавычки указывают имя поля, а одинарные кавычки относятся к статической строке . Они не являются взаимозаменяемыми.


@GrahamD, пожалуйста, прими ответ, если он решил твою проблему
недоделка


3

Во-первых, откройте калькулятор поля и выберите функцию замены из строки, введите описание изображения здеськак показано на следующем рисунке:

Во-вторых, говорит QGIS заменить замену («Имя поля», «(B)», «Страна»). Например, в этом случае; заменить («MES_TIP», «T», «Rock»):

В-третьих, выберите тип выходного поля: текст (строка), а затем определите имя поля;введите описание изображения здесь

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.