Pertanyaan ini dibangun berdasarkan pertanyaan sebelumnya yang saya temui di gis.stackexchange: Bagaimana cara mengedit data atribut dengan menggunakan Regular Expressions?
Mungkin seseorang bisa mengarahkan saya ke arah yang benar?
Saya memiliki shapefile vektor garis kontur. Dalam tabel atribut saya sudah mengonversi bidang yang disebut KAKI yang terdiri dari data integer yang berisi nilai ketinggian ke bidang string yang disebut Label. Selain itu saya berhasil menambahkan 'ke akhir string sehingga ketika data diberi label akan dibaca sebagai kaki.
Hal berikutnya yang saya coba lakukan adalah memasukkan koma antara dua nilai pertama string hanya jika panjang string lebih besar dari 4, atau sehingga koma hanya akan muncul di antara ribuan dan ratusan digit di bidang Label. Panjangnya harus lebih besar dari 4 karena saya juga menghitung '
Kode saya sejauh ini adalah:
case when length( "Label") >4 then regexp_replace( "Label", '^([0-9])+([0-9]{3}\')$','$1 , $2') else "Label" end
namun fungsi regexp_replace tampaknya tidak menerima variabel grup $ 1 $ 2 pada parameter ke-3 fungsi.
Saya telah melihat http://docs.python.org/2/library/re.html karena regex bidang-kalkulator berasal dari apa yang saya pahami berdasarkan penggunaan regex python tetapi belum bisa mengetahuinya. Mungkin yang saya coba lakukan belum memungkinkan dengan fungsi ini di bidang kalkulator di QGIS 1.8 di mac OSX. Atau lebih tepatnya sintaksis saya salah karena saya seorang programmer pemula dan agak baru untuk ekspresi reguler.