Це питання ґрунтується на попередньому питанні, на яке я натрапив на gis.stackexchange: Як легко редагувати дані атрибутів за допомогою регулярних виразів?
Можливо, хтось може вказати мені в правильному напрямку?
У мене векторний профіль форми контурних ліній. У таблиці атрибутів я вже перетворив поле під назвою FEET, що складається з цілих даних, що містять значення висоти, у рядкове поле під назвою Label. Крім того, я успішно додав "до кінця рядка", щоб, коли дані позначені міткою, вони будуть читатися як ноги.
Наступне, що я намагаюся зробити, - це вставити кому між першими двома значеннями рядка, лише якщо довжина рядка перевищує 4, або так, що кома з’явиться лише між тисячами і сотнями цифр у полі Мітка. Довжина повинна бути більше 4, тому що я також рахую '
Мій код поки що:
case when length( "Label") >4 then regexp_replace( "Label", '^([0-9])+([0-9]{3}\')$','$1 , $2') else "Label" end
однак функція regexp_replace, схоже, не приймає змінних групи $ 1 $ 2 у третьому параметрі функції.
Я дивився на http://docs.python.org/2/library/re.html, як регекс польового калькулятора - це те, що я розумію, на основі використання регулярного виразу python, але не зміг цього зрозуміти. Можливо, те, що я намагаюся зробити, поки що неможливо за допомогою цієї функції в польовому калькуляторі в QGIS 1.8 на mac OSX. Або, швидше за все, мій синтаксис неправильний, оскільки я початківець програміст і дещо новачок у регулярних виразах.