Найти - Пользователи
Полная версия: Использование регулярных выражений в Python.
Начало » Python для новичков » Использование регулярных выражений в Python.
1 2
Dr.Livsi
Доброго всем времени суток!
Есть задача: нужно в списке a=, сделать корректировки, так что бы получилось: b=. Насколько я понимаю, здесь надо использовать регулярные выражения. Однако, прочитав главу про регулярные выражения так и не понял, как их использовать. Просветите, пожалуйста!
sp3
а не проще использовать split ?
Dr.Livsi
может и проще, вопрос как?
MapaT
b = ['Азбука_' + s.rsplit('_', 1)[-1] for s in a]
Dr.Livsi
нет, не вариант: ‘_’ может повторятся неоднократно. Т.е. a=
o7412369815963
Dr.Livsi
нет, не вариант: ‘_’ может повторятся неоднократно. Т.е. a=
а это уже другая задача,
напиши сначала все возможные варианты, а то после очередного решения ты ещё что-нибудь придумаешь.

ЗЫ: с тек. условием можно использовать split('_',3) вместо rsplit('_', 1)
Dr.Livsi
боюсь, что максимально точно не смогу обозначить задачу - ибо она находится на работе :))) Поэтому вполне может появиться еще какое-нибудь условие. Во всяком случае попробую решить ее с помощью split. И еще, покажите, пожалуйста, как здесь можно использовать регулярные выражения? Меня, собственно, интересует синтаксис.
pasaranax
for i in a:
b.append(re.sub("Букварь_\d+", "Азбука", i))
Dr.Livsi
pasaranax, отлично! Получилось. Большое всем спасибо!
pasaranax
А регулярками нагляднее выходит, но вот так должно быть быстрее:
for i in a:
b.append("Азбука_" + "_".join(i.split("_")[2:]))
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB