Avancerat etikettuttryck i ArcMap för att utesluta en del av en sträng

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

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *