首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将unicode转换为中文

将unicode转换为中文
EN

Stack Overflow用户
提问于 2016-02-25 04:52:41
回答 1查看 518关注 0票数 0

我正试图从一个使用python的网站上获取一些中文文本。当我得到它时,它被html标记包围,如下所示:

我今天的<em class="hot">心情</em>不好。<br/> I'm feeling blue today.

(我不得不把它作为代码来防止html标记消失)但是,一旦我使用切片来消除html标记,我得到:

我今天的心情ᄌヘ好。

为什么这个奇怪的角色出现在倒数第二位?谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-25 05:25:14

使用regex模块,您可以使用\p{Han}过滤汉字:

代码语言:javascript
复制
>>> text = u'''我今天的<em class="hot">心情</em>不好。<br/> I'm feeling blue today.'''
>>> import regex
>>> print u''.join(regex.findall(r'\p{Han}+', text, flags=regex.UNICODE))
我今天的心情不好

或者,使用unicodedata.name

代码语言:javascript
复制
>>> import unicodedata
>>> unicodedata.name(u'a')
'LATIN SMALL LETTER A'
>>> unicodedata.name(u'我')
'CJK UNIFIED IDEOGRAPH-6211'
>>> unicodedata.name(u'今')
'CJK UNIFIED IDEOGRAPH-4ECA'
代码语言:javascript
复制
>>> text = u'''我今天的<em class="hot">心情</em>不好。<br/> I'm feeling blue today.'''
>>> print u''.join(c for c in text if unicodedata.name(c).startswith('CJK'))
我今天的心情不好
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35618631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档