Hvordan skriver jeg et avansert merkingsuttrykk for bare å vise en del av en streng?
Jeg vil at dataene mine som ser ut som denne EVA007 bare skal vise 007-delen.
Kommentarer
- Hva ' er regelen for merkingen din? Kutter det tre bokstaver? Eller kutte alt unntatt tall?
Svar
Hvis du vil kutte de tre første bokstavene, kan du bruke følgende Python-uttrykk (angi alternativet «avansert» uttrykk):
def FindLabel([NAME]): return [NAME][3:]
Hvis du vil beholde de tre siste tegnene (tall i ditt tilfelle) i stedet for å kutte de tre første, endre [3:]
til [:-3]
.
Kommentarer
- Fungerte perfekt!
Svar
Basert på VB-skriptet, kan løsningen være
Right([FIELDNAME], 3)
eller
Replace([FIELDNAME], "EVA", "")
Svar
En annen løsning hvis du vil fjerne alfabetene og bare vise sluttallene:
import re def FindLabel ( [FIELDNAME] ): p = re.search("[0-9]+", [FIELDNAME]) if p is None: return [FIELDNAME] else: return p.group(0).replace("(","")