Найти - Пользователи
Полная версия: regexp и русский текст
Начало » Python для новичков » regexp и русский текст
1
stasvip
На windjws этот код работает все есть все красиво когда же переношу на юникс все пропало. Мучаюсь уже довольно долго пробовали с флагами re.U и так далее никакго эффекта отдает только англ. и цыфры в чем может быть проблема?


p = re.compile(r'<.*?>')
descr = p.sub('', var)
descr = re.sub(u"“, ” ", unicode(var, ‘utf-8’))

descr = canonize(descr.encode('utf-8'))
descr = ‘ ’.join(descr)
print descr

title = re.sub(u"“, ” ", unicode(var, ‘utf-8’))
title = canonize(title.encode('utf-8'))
title = ‘ ’.join(title)
print title
Ferroman
когда же переношу на юникс все пропало
Просто сразу все стало понятно, особенно, что именно не работает.
stasvip
Проблему решил данная конструкция прекрасно парсила и английский и русский текст на windows , на unix отдавала лищь английский и цыфры.
p = re.compile(r'<.*?>')
descr = p.sub('', var)
pat = re.compile(r'\W+',re.UNICODE)
descr = re.sub(pat, “ ”, unicode(descr,'utf-8'))
descr = canonize(descr.encode('utf-8'))
descr = ‘ ’.join(descr)
print descr

title = re.sub(pat, “ ”, unicode(var,'utf-8'))
title = canonize(title.encode('utf-8'))
title = ‘ ’.join(title)
print title
Вот это работает на unix
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