Avansert etikettuttrykk i ArcMap for å ekskludere en del av en streng

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("(","") 

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *