Expressão de rótulo avançada no ArcMap para excluir parte de uma string

Como escrevo expressões de rotulagem avançada para mostrar apenas uma parte de uma string?

Quero que meus dados semelhantes a este EVA007 mostrem apenas a parte 007.

Comentários

  • O que ' é a regra para sua rotulagem? É cortar as primeiras três letras? Ou cortando tudo, exceto números?

Resposta

Se você deseja cortar as três primeiras letras, você pode usar a seguinte expressão Python (definir a opção “expressão avançada”):

def FindLabel([NAME]): return [NAME][3:] 

Se você quiser manter os últimos três caracteres (números no seu caso) em vez de cortar os três primeiros, altere [3:] para [:-3].

Comentários

  • Funcionou perfeitamente!

Resposta

Com base no script VB, a solução poderia ser

Right([FIELDNAME], 3) 

ou

Replace([FIELDNAME], "EVA", "") 

Resposta

Outra solução, se você quiser remover os alfabetos e mostrar apenas os números finais:

import re def FindLabel ( [FIELDNAME] ): p = re.search("[0-9]+", [FIELDNAME]) if p is None: return [FIELDNAME] else: return p.group(0).replace("(","") 

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *