¿Cómo escribo expresiones de etiquetado avanzadas para mostrar solo una parte de una cadena?
Quiero que mis datos que se parecen a este EVA007 solo muestren la parte 007.
Comentarios
- Qué ' ¿es la regla para su etiquetado? ¿Está cortando las primeras tres letras? ¿O cortar todo excepto los números?
Responder
Si desea cortar las primeras tres letras, puede usar la siguiente expresión de Python (establezca la opción expresión «avanzada»):
def FindLabel([NAME]): return [NAME][3:]
Si desea conservar los últimos tres caracteres (números en su caso) en lugar de cortar los tres primeros, cambie [3:]
a [:-3]
.
Comentarios
- ¡Funcionó perfectamente!
Respuesta
Basado en el script VB, la solución podría ser
Right([FIELDNAME], 3)
o
Replace([FIELDNAME], "EVA", "")
Responder
Otra solución, si desea eliminar los alfabetos y mostrar solo los números finales:
import re def FindLabel ( [FIELDNAME] ): p = re.search("[0-9]+", [FIELDNAME]) if p is None: return [FIELDNAME] else: return p.group(0).replace("(","")