myst
написал 3 апреля 2009 года в 00:29 (808 просмотров)
Ведет себя
как Череп; открыл 50 тем в форуме, оставил 2987 комментариев на сайте.
Задача: если фамилия начинается с приставки Mac или Mc, сделать следующую за приставкой букву заглавной. На Python.
$last_name =~ s/^Mac|Mc\K(.)/\U$1/;
last_name = re.sub('^(?<=Mac|Mc).', lambda m: m.group().upper(), last_name)
Вопрос: есть ли способ сделать это на Python менее извратно? Если есть, то какой.
Последние комментарии
-
Дмитрий Шурупов, 12 июня в 13:55 → Перекличка 13
-
Иванн, 9 апреля в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
-
Oksana_Gusak, 13 октября в 7:31 → Как «замокать» файл для юниттеста в Python? 2
-
Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
-
fhunter, 26 февраля 2021 года в 20:45 → A, MX, PTR — Настройка и проверка извне. Как ? 2

Экология и вегетарианство на благо всем живым существам Планеты.
А что тут извратного? По-моему, красиво ;-)
И я бы вместо '.' сделал '[a-z]', а вместо Mac|Mc — 'Ma?c’.
P.S. Не знаю. Подозреваю, что нет такого способа.
Позитивная ретроспективная проверка не может быть переменной длинны. Получается