Jak mohu napsat pokročilé výrazy označení, aby se zobrazila pouze část řetězce?
Chci, aby moje data, která vypadají jako tato EVA007, zobrazovala pouze část 007.
Komentáře
- Co ' je pravidlo pro vaše označování? Je to řezání do ruky tři písmena? Nebo vyjmutí všeho kromě čísel?
Odpovědět
Pokud chcete oříznout první tři písmena, můžete použít následující výraz Pythonu (nastavte volbu „pokročilý“ výraz):
def FindLabel([NAME]): return [NAME][3:]
Pokud si chcete místo ořezávání ponechat poslední tři znaky (čísla ve vašem případě) první tři, změňte [3:]
na [:-3]
.
Komentáře
- Fungovalo to perfektně!
Odpověď
Na základě skriptu VB může být řešením
Right([FIELDNAME], 3)
nebo
Replace([FIELDNAME], "EVA", "")
odpověď
Další řešení, pokud chcete odstranit abecedy a zobrazit pouze koncová čísla:
import re def FindLabel ( [FIELDNAME] ): p = re.search("[0-9]+", [FIELDNAME]) if p is None: return [FIELDNAME] else: return p.group(0).replace("(","")