Processing math: 100%

7 votos

Extrayendo solo números de la dirección en la tabla de atributos de QGIS

Quiero imprimir solo la parte numérica del campo de dirección. Intenté usar la "calculadora de campos" con "regexp_substr" para extraer solo el número (solo la cadena antes del primer espacio) pero no pude encontrar la expresión correcta. También estoy pensando que podría hacerse con etiquetas, mostrando solo la primera palabra de la dirección.

Entonces, "1250 Main Street" solo debería mostrar "1250".

9voto

Geoffrey Puntos 228

Si las direcciones están todas formateadas de manera similar a como está en tu ejemplo, puedes probar esta expresión:

izquierda("1250 Main Street", encontrar("1250 Main Street", '\\s') - 1)

En primer lugar, la expresión encontrar encuentra la posición del primer espacio en blanco en la cadena (es decir, 5, el resultado es "1250 "); luego guarda la parte izquierda de la cadena desde la posición 4: el resultado es 1250.

Obviamente puedes cambiar "1250 Main Street" con el nombre del campo de interés.

0 votos

Y (solo en caso de que te preguntaras si) puedes usar fácilmente esa expresión directamente en etiquetas

2 votos

Genial, no tenía idea de que se podían usar expresiones regulares en el patrón de strpos. ¡ten un voto positivo! por ejemplo, encontrar el primer número de 4 dígitos strpos('foo 123 4444', '\\d{4}')

0voto

Kevin Panko Puntos 4481

Calculadora de campos > Crear un nuevo campo Nombre de campo de salida "NUEVONOMBRE"

y luego seleccionar la columna que tiene la dirección con el nombre y el número que desea crear una nueva columna solo con el número. en este ejemplo mi columna es "nombre"

left( "nombre", strpos( "nombre" ,'\s') - 1)

debería encontrar que aparece una nueva columna con solo los números

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X