相关疑难解决方法(0)

如何从文本中提取所有表情符号?

请考虑以下列表:

a_list = ['  me así, bla es se  ds ']
Run Code Online (Sandbox Code Playgroud)

如何在新列表中提取内部的所有表情符号a_list?:

new_lis = ['     ']
Run Code Online (Sandbox Code Playgroud)

我试图使用正则表达式,但我没有所有可能的表情符号编码.

python python-3.x emoji

40
推荐指数
6
解决办法
3万
查看次数

Python中x ='y''z'的内幕是什么?

如果您运行x = 'y' 'z'在Python中,你得到x设置'yz',这意味着当Python看到彼此相邻的多个字符串某种字符串连接的发生.

但这是什么样的串联?它实际上正在运行'y' + 'z'还是正在运行''.join('y','z')或其他什么?

python string syntax concatenation python-internals

37
推荐指数
2
解决办法
1593
查看次数

从Python中的字符串中删除表情符号

我在Python中发现了这个用于删除表情符号的代码,但它无效.你能帮忙解决其他问题吗?

我已经观察到我的所有emjois都开始了\xf但是当我尝试搜索时str.startswith("\xf")我得到了无效的字符错误.

emoji_pattern = r'/[x{1F601}-x{1F64F}]/u'
re.sub(emoji_pattern, '', word)
Run Code Online (Sandbox Code Playgroud)

这是错误:

Traceback (most recent call last):
  File "test.py", line 52, in <module>
    re.sub(emoji_pattern,'',word)
  File "/usr/lib/python2.7/re.py", line 151, in sub
    return _compile(pattern, flags).sub(repl, string, count)
  File "/usr/lib/python2.7/re.py", line 244, in _compile
    raise error, v # invalid expression
sre_constants.error: bad character range
Run Code Online (Sandbox Code Playgroud)

列表中的每个项目都可以是单词 ['This', 'dog', '\xf0\x9f\x98\x82', 'https://t.co/5N86jYipOI']

更新:我使用了其他代码:

emoji_pattern=re.compile(ur" " " [\U0001F600-\U0001F64F] # emoticons \
                                 |\
                                 [\U0001F300-\U0001F5FF] # symbols & pictographs\
                                 |\
                                 [\U0001F680-\U0001F6FF] # transport & map symbols\
                                 |\
                                 [\U0001F1E0-\U0001F1FF] …
Run Code Online (Sandbox Code Playgroud)

python string unicode special-characters emoji

25
推荐指数
12
解决办法
5万
查看次数

将表情符号视为正则表达式中的一个字符

这是一个小例子:

reg = ur"((?P<initial>[+\-])(?P<rest>.+?))$"
Run Code Online (Sandbox Code Playgroud)

(在这两种情况下文件都有-*- coding: utf-8 -*-)

在Python 2中:

re.match(reg, u"hello").groupdict()
# => {u'initial': u'\ud83d', u'rest': u'\udc4dhello'}
# unicode why must you do this
Run Code Online (Sandbox Code Playgroud)

然而,在Python 3中:

re.match(reg, "hello").groupdict()
# => {'initial': '', 'rest': 'hello'}
Run Code Online (Sandbox Code Playgroud)

上述行为是100%完美,但切换到Python 3目前不是一个选项.将3的结果复制到2中的最佳方法是什么,这适用于窄版和宽版Python?似乎是以"\ ud83d\udc4d"格式来找我,这就是让这个变得棘手的原因.

python regex python-2.7 python-unicode unicode-literals

10
推荐指数
1
解决办法
622
查看次数

如何将表情符号与R正则表达式相匹配?

我想确定我的vector的哪些元素包含表情符号:

x = c('', 'no', '', '', 'no', '', '?', '??')
x
# [1] "\U0001f602" "no"         "\U0001f379" "\U0001f600" "no"         "\U0001f61b" "?"         "??"
Run Code Online (Sandbox Code Playgroud)

相关帖子只涵盖其他语言,因为大部分都是指专业图书馆,我无法想出一种翻译成R的方法:

第二个看起来很有希望,但唉(不是通过提供固定perl = TRUE):

x[grepl('[\u{1F600}-\u{1F6FF}]', x)]
Run Code Online (Sandbox Code Playgroud)

错误:无效\ u {xxxx}序列(第1行)

类似的问题来自其他问题.我们怎样才能匹配R中的表情符号?

regex r utf-16 emoji

8
推荐指数
1
解决办法
2153
查看次数

Python,转换4字节字符以避免MySQL错误"字符串值不正确:"

我需要将(在Python中)一个4字节的char转换为其他字符.这是将其插入到我的UTF-8 mysql数据库没有得到一个错误,如:"不正确的字符串值:在第1行'\ XF0\x9F\X94\x8E’列'线’"

通过向mysql插入4字节unicode引发的警告显示这样做:

>>> import re
>>> highpoints = re.compile(u'[\U00010000-\U0010ffff]')
>>> example = u'Some example text with a sleepy face: \U0001f62a'
>>> highpoints.sub(u'', example)
u'Some example text with a sleepy face: '
Run Code Online (Sandbox Code Playgroud)

但是,我得到了与评论中的用户相同的错误,"...字符范围很差.."这显然是因为我的Python是UCS-2(而不是UCS-4)版本.但后来我不知道该怎么做呢?

python mysql utf-8 character-encoding python-unicode

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