Esta pregunta se basa en una pregunta anterior que encontré en gis.stackexchange: ¿Cómo editar fácilmente los datos de atributos usando Expresiones regulares?
¿Quizás alguien pueda señalarme en la dirección correcta?
Tengo un archivo de formas vectoriales de líneas de contorno. En la tabla de atributos, ya he convertido un campo llamado PIES que consta de datos enteros que contienen valores de elevación a un campo de cadena llamado Etiqueta. Además, agregué con éxito un 'al final de la cadena para que cuando los datos estén etiquetados se lean como pies.
Lo siguiente que intento hacer es insertar una coma entre los dos primeros valores de la cadena solo si la longitud de la cadena es mayor que 4, o para que una coma solo aparezca entre los miles y cientos de dígitos en el campo Etiqueta. La longitud debe ser mayor que 4 porque también estoy contando el '
Mi código hasta ahora es:
case when length( "Label") >4 then regexp_replace( "Label", '^([0-9])+([0-9]{3}\')$','$1 , $2') else "Label" end
sin embargo, la función regexp_replace no parece aceptar las variables de grupo $ 1 $ 2 en el tercer parámetro de la función.
He visto http://docs.python.org/2/library/re.html ya que la expresión regular de la calculadora de campo es de lo que entiendo basado en el uso de expresiones regulares de Python, pero no he podido resolver esto. Quizás lo que intento hacer aún no es posible con esta función en la calculadora de campo en QGIS 1.8 en mac OSX. O lo más probable es que mi sintaxis sea incorrecta, ya que soy un programador novato y algo nuevo en las expresiones regulares.