Hur skriver jag ett avancerat märkningsuttryck för att bara visa en del av en sträng?
Jag vill att mina data som ser ut som denna EVA007 bara ska visa 007-delen.
Kommentarer
- Vad ' är regeln för din märkning? Skär det tre bokstäver? Eller klippa allt utom siffror?
Svar
Om du vill klippa de tre första bokstäverna kan du använda följande Python-uttryck (inställningsalternativ ”avancerat” uttryck):
def FindLabel([NAME]): return [NAME][3:]
Om du vill behålla de tre sista tecknen (siffror i ditt fall) istället för att klippa de tre första, ändra [3:]
till [:-3]
.
Kommentarer
- Fungerade perfekt!
Svar
Baserat på VB-skriptet kan lösningen vara
Right([FIELDNAME], 3)
eller
Replace([FIELDNAME], "EVA", "")
Svar
En annan lösning om du vill ta bort alfabetet och endast visa slutnumren:
import re def FindLabel ( [FIELDNAME] ): p = re.search("[0-9]+", [FIELDNAME]) if p is None: return [FIELDNAME] else: return p.group(0).replace("(","")