Geavanceerde labeluitdrukking in ArcMap om een deel van een string uit te sluiten

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

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *