ArcMap 10.7 Python Синтаксис расширенных выражений надписей подтвержден, но надписи некорректны - PullRequest
0 голосов
/ 28 мая 2020

У меня есть метки с идентификаторами дорог в строковом поле. Я удалил некоторый конкретный текст c и предшествующие '0'. Количество буквенных символов может быть разным.

Примеры ID включают B10-7A или WV57 C или Old HWY 78

Мне нужно удалить все предыдущие буквенные символы, но оставить альфа в конце. Я пробовал несколько итераций ...

Этот фрагмент работает, но удаляет только предыдущую букву «A», а не все буквы «от A до Z».

def FindLabel ( [ID] ):
label = ( [ID] )
if label[0].isalpha():
    return [ID].lstrip('A-Z')
else:
    return [ID].replace("-A-ADMIN","").replace("-ADMIN","").lstrip('0')

Этот фрагмент удаляет все буквенные символы - до и после.

def FindLabel ( [ID] ):
import re
label = ( [ID] )
if label[0].isalpha():
    return re.sub('[^0-9]', "", [ID])       
else:
    return [ID].replace("-A-ADMIN","").replace("-ADMIN","").lstrip('0')

Ошибок нет - когда я проверяю, проверка выполняется нормально, но не дает ожидаемых результатов. (Я начал с того, что вытащил код из SO)

...