Câu hỏi này được xây dựng dựa trên câu hỏi trước đây tôi đã gặp tại gis.stackexchange: Làm thế nào để dễ dàng chỉnh sửa dữ liệu thuộc tính bằng Biểu thức chính quy?
Có lẽ ai đó có thể chỉ cho tôi đi đúng hướng?
Tôi có một shapefile vector của các đường viền. Trong bảng thuộc tính, tôi đã chuyển đổi một trường có tên FEET bao gồm dữ liệu số nguyên chứa các giá trị độ cao thành trường chuỗi có tên là Nhãn. Ngoài ra, tôi đã nối thành công 'vào cuối chuỗi để khi dữ liệu được dán nhãn, nó sẽ được đọc dưới dạng feet.
Điều tiếp theo tôi đang cố gắng là chèn một dấu phẩy giữa hai giá trị đầu tiên của chuỗi chỉ khi độ dài chuỗi lớn hơn 4 hoặc do đó dấu phẩy sẽ chỉ xuất hiện giữa hàng ngàn và hàng trăm chữ số trong trường Nhãn. Độ dài phải lớn hơn 4 vì tôi cũng đang đếm '
Mã của tôi cho đến nay là:
case when length( "Label") >4 then regexp_replace( "Label", '^([0-9])+([0-9]{3}\')$','$1 , $2') else "Label" end
tuy nhiên, hàm regrec_Vplace dường như không chấp nhận các biến nhóm $ 1 $ 2 trong tham số thứ 3 của hàm.
Tôi đã xem http://docs.python.org/2/l Library / re.html vì regex máy tính trường là từ những gì tôi hiểu dựa trên việc sử dụng regex của python nhưng không thể hiểu được điều này. Có lẽ những gì tôi đang cố gắng thực hiện vẫn chưa thể thực hiện được với chức năng này trong máy tính trường trong QGIS 1.8 trên mac OSX. Hoặc nhiều khả năng cú pháp của tôi sai vì tôi là một lập trình viên mới và hơi mới đối với các biểu thức thông thường.