6 votos

Automatización de etiquetas con números

Hay una forma de tira de caracteres de una cadena usando python? La cadena es de longitud variada...

Ejemplos de cadenas: La interestatal 10 Auxiliar carretera 24 De carreteras del estado de 14 de

Estoy buscando sólo los números. 10 24 14

Estoy tratando de automatizar el etiquetado de los caminos por los que pueblan los símbolos con los números despojado de las cadenas.

La info que estoy trabajando es en una tabla de atributos Estoy usando ArcMap 10.2.

Soy nuevo en python y muy interesados en saber si este tipo de funcionalidad que está disponible.

6voto

Farid Cher Puntos 5306

El enlace ofrecido por Kevin hace el trabajo pero no limpia los espacios adicionales. Utilice esta expresión de python:

 import re
inputText = "12 Interstate 10 Auxiliary road 24 Sta1te highway 14"
t = re.sub("[^0-9 ]", "", inputText)
resultText = ' '.join(t.split())
 

Emite: '12 10 24 1 14 '

Para usar este script simple con la expresión de lazo de ArcGIS, vea la instantánea:

Expresión de etiqueta quitar caracteres no numéricos

3voto

Ron Warholic Puntos 7479

En lugar de utilizar un RegX, otra opción que usted podría utilizar sólo sería una sola línea con la cadena unirse y isdigit() de la prueba.

"".join(c for c in [NAME] if c.isdigit())

Sólo traté de que mi capa de carreteras (asegúrese de que el analizador se establece en Python) en ArcGIS for Desktop 10.1 y lo sacó de la carretera números muy muy bien. Sólo lo tenga en cuenta, no numéricos carreteras van a ir sin etiquetar de esa manera, así que, puede que tenga que configurar clases de etiqueta etiqueta numérico caminos y nombres de caminos de manera diferente.

Obviamente en el código anterior, reemplace [NOMBRE] con su correspondiente nombre de campo.

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