Форум сайта python.su
Всем доброго!
Имею строку: ‘фраза - җөмлә, гыйбарә’ Нужно поменять коды на сами символы, естественно таких строк очень много и коды символов постоянно меняются.
Что удалось понять:
print unichr(1175)
a = 'фраза - җөмлә, гыйбарә'
pattern = "&#[0-9]+;"
number_re = re.compile(pattern)
print number_re.findall(a)
for x in number_re.findall(a):
print unichr(int(x[2:6]))
Офлайн
В принципе вот что получилось:
# coding: utf-8
import re
a = u'фраза - җөмлә, гыйбарә'
s = []
pattern = "(&#[0-9]+;)"
number_re = re.compile(pattern)
for x in number_re.split(a):
if x[0:2] <> '&#':
s.append(x)
else:
s.append(unichr(int(x[2:6])))
print "".join(s)
Офлайн
Opera 11.01 (1190):
Работать не будет!
p.s. Никогда split не пользовался, лень сейчас читать api, работал с sub (мне кажется он и тут уместнее). Компилирование выражения в данном случае неудачная идея.
..bw
Офлайн