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