Найти - Пользователи
Полная версия: Замена кода символа на сам символ
Начало » Python для новичков » Замена кода символа на сам символ
1
Cover Story
Всем доброго!
Имею строку: ‘фраза - җөмлә, гыйбарә’ Нужно поменять коды на сами символы, естественно таких строк очень много и коды символов постоянно меняются.

Что удалось понять:
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]))
Так я могу произвести поиск символов и их вывод, а дальше блин ступор.
Знаю что для замены используется метод sub, но как им пользоваться что-то не допру.
Cover Story
В принципе вот что получилось:
# 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)
В связи с этим два вопроса
На сколько это правильно?
Можно сделать проще?
bw
Opera 11.01 (1190):

Работать не будет!

p.s. Никогда split не пользовался, лень сейчас читать api, работал с sub (мне кажется он и тут уместнее). Компилирование выражения в данном случае неудачная идея.

..bw
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