Ребята, подскажите, как из %D0%91%D0%B0%D1%80%D1%8B%D1%88%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2
получить D091 D0B0 D180 D18B D188 D0BD D0B8 D0BA D0BE D0B2
Нужно использовать именно регулярное выражение
Выручите, кто знает, голова уже кипит.
import re
TEXT='%D0%91%D0%B0%D1%80%D1%8B%D1%88%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2'
def repl_fn(match):
return '{}{} '.format(match.group(1), match.group(2))
print TEXT
print re.sub('%(\w{2})%(\w{2})', repl_fn, TEXT)
xxnikolayxxСсылку на документацию я привел
как это работает
xxnikolayxxМожно - через lambda
почему нельзя запихнуть это в одну строку
>>> import re
>>> s = '%D0%91%D0%B0%D1%80%D1%8B%D1%88%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2'
>>> r = re.sub(r'(.{4})(?=.)', r'\1 ', s.replace('%', ''))
>>> r
'D091 D0B0 D180 D18B D188 D0BD D0B8 D0BA D0BE D0B2'
>>> s = '%D0%91%D0%B0%D1%80%D1%8B%D1%88%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2%B3'
>>> r = re.sub(r'(.{4})(?=.)', r'\1 ', s.replace('%', ''))
>>> r
'D091 D0B0 D180 D18B D188 D0BD D0B8 D0BA D0BE D0B2 B3'
>>>
py.user.nextСерьезная регулярка.