Hvordan skriver jeg et avanceret mærkeudtryk for kun at vise en del af en streng?
Jeg ønsker, at mine data, der ligner denne EVA007, kun skal vise 007-delen.
Kommentarer
- Hvad ' er reglen for din mærkning? Skærer det tre bogstaver? Eller klippe alt undtagen tal?
Svar
Hvis du vil klippe de første tre bogstaver, kan du bruge følgende Python-udtryk (sæt valgmulighed “avanceret” udtryk):
def FindLabel([NAME]): return [NAME][3:]
Hvis du vil beholde de sidste tre tegn (tal i dit tilfælde) i stedet for at klippe de første tre, skift [3:]
til [:-3]
.
Kommentarer
- Fungerede perfekt!
Svar
Baseret på VB-scriptet kunne løsningen være
Right([FIELDNAME], 3)
eller
Replace([FIELDNAME], "EVA", "")
Svar
En anden løsning, hvis du vil fjerne alfabeterne og kun vise slutnumrene:
import re def FindLabel ( [FIELDNAME] ): p = re.search("[0-9]+", [FIELDNAME]) if p is None: return [FIELDNAME] else: return p.group(0).replace("(","")