相关疑难解决方法(0)

从Unicode字符串中正确提取Emojis

我在Python 2中工作,我有一个包含emojis以及其他unicode字符的字符串.我需要将其转换为列表,其中列表中的每个条目都是单个字符/表情符号.

x = u'xyz'
char_list = [c for c in x]
Run Code Online (Sandbox Code Playgroud)

所需的输出是:

['', '', 'x', 'y', 'z', '', '']
Run Code Online (Sandbox Code Playgroud)

实际输出是:

[u'\ud83d', u'\ude18', u'\ud83d', u'\ude18', u'x', u'y', u'z', u'\ud83d', u'\ude0a', u'\ud83d', u'\ude0a']
Run Code Online (Sandbox Code Playgroud)

如何实现所需的输出?

python unicode python-2.x emoji

21
推荐指数
2
解决办法
5512
查看次数

在python中使用re删除unicode表情符号

我试图从unicode tweet文本中删除表情符号,并使用python 2.7打印出结果

myre = re.compile(u'[\u1F300-\u1F5FF\u1F600-\u1F64F\u1F680-\u1F6FF\u2600-\u26FF\u2700-\u27BF]+',re.UNICODE)
print myre.sub('', text)
Run Code Online (Sandbox Code Playgroud)

但似乎几乎所有的字符都从文本中删除.我从其他帖子中查了几个答案,不幸的是,这些都没有在这里工作.我在re.compile()中做错了吗?

这是一个删除所有字符的示例输出:

“   '   //./” ! # # # …
Run Code Online (Sandbox Code Playgroud)

python regex unicode tweets emoji

7
推荐指数
1
解决办法
1万
查看次数

对于单个Unicode字符串,Python返回长度为2

在Python 2.7中:

In [2]: utf8_str = '\xf0\x9f\x91\x8d'
In [3]: print(utf8_str)

In [4]: unicode_str = utf8_str.decode('utf-8')
In [5]: print(unicode_str)
 
In [6]: unicode_str
Out[6]: u'\U0001f44d'
In [7]: len(unicode_str)
Out[7]: 2
Run Code Online (Sandbox Code Playgroud)

由于unicode_str只包含一个unicode代码点(0x0001f44d),为什么len(unicode_str)返回2而不是1?

python unicode python-2.7 python-unicode

7
推荐指数
1
解决办法
1302
查看次数