Hoe schrijf ik een geavanceerde labeluitdrukking om alleen een deel van een string weer te geven?
Ik wil dat mijn gegevens die er als deze EVA007 uitzien, alleen het 007-deel laten zien.
Opmerkingen
- Wat ' is de regel voor uw labels? Snijdt het de eerste drie letters? Of alles knippen behalve cijfers?
Answer
Als je de eerste drie letters wilt knippen, gebruik dan de volgende Python-expressie (stel optie “advanced” expression in):
def FindLabel([NAME]): return [NAME][3:]
Als je de laatste drie karakters (in jouw geval getallen) wilt behouden in plaats van te knippen de eerste drie, verander [3:]
in [:-3]
.
Reacties
- Werkte perfect!
Antwoord
Op basis van het VB-script zou de oplossing
Right([FIELDNAME], 3)
of
Replace([FIELDNAME], "EVA", "")
Antwoord
Een andere oplossing, als u de alfabetten wilt verwijderen en alleen de eindnummers wilt weergeven:
import re def FindLabel ( [FIELDNAME] ): p = re.search("[0-9]+", [FIELDNAME]) if p is None: return [FIELDNAME] else: return p.group(0).replace("(","")