我正在从FileFormat.Info的搜索中找到特殊字符的Unicode .
某些字符呈现为经典的黑白字形,例如⚠(警告标志\u26A0
或⚠
).这些是首选,因为我可以将CSS样式(如颜色)应用于它们.
其他人正在渲染为更新的卡通表情符号,例如hour(沙漏,\u231B
或⌛
).这些不是优选的,因为我不能完全定型它们.
看来浏览器正在进行此更改,因为我能够在Mac Firefox上看到沙漏字形,而不是Mac Chrome或Mac Safari.
有没有办法强制浏览器显示旧的(单调单调)版本?
更新:看来(从下面的评论)有一个文本显示选择,FE0E
,可用来执行文本VS-表情符号.选择器作为后缀连接到字符的代码上,没有空格,例如⌛︎
HTML十六进制或\u231B\uFE0E
JS.但是,它并没有被所有浏览器(例如Chrome和Edge)所尊重.
我在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 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 中的模式打印字母“A”
def printA(length,height,symbol):
a = [[" " for i in range(length)] for i in range(height)]
for i in range(height):
for j in range(length):
if j == 0 or i == 0 or i == height // 2 or j == length - 1:a[i][j] = symbol
return a
Run Code Online (Sandbox Code Playgroud)
它适用于普通字符,如 *,/+,-,#,$,% .. etc.,
输出:普通字符
#######
# #
# #
#######
# #
# #
# #
Run Code Online (Sandbox Code Playgroud)
表情符号
Run Code Online (Sandbox Code Playgroud)
如果我能找到表情符号的长度,那么我就可以将空格更改为表情符号的长度,这样就不会发生这个问题,有什么办法可以做到这一点
注意:以上代码仅适用于字符而不适用于字符串
编辑:
根据snakecharmerb的回答,它仅适用于打印字符,A
但是当我尝试A
多次打印ie 的序列时,它只是将表情符号放错了位置
示例:我尝试打印 AAAAA …
我试图从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正则表达式在一串表情符号标志之间插入空格.
例如,这个字符串是两个巴西标志:
u"\U0001F1E7\U0001F1F7\U0001F1E7\U0001F1F7"
Run Code Online (Sandbox Code Playgroud)
这将呈现如下:
我想在任何一对区域指标符号之间插入空格.像这样的东西:
re.sub(re.compile(u"([\U0001F1E6-\U0001F1FF][\U0001F1E6-\U0001F1FF])"),
r"\1 ",
u"\U0001F1E7\U0001F1F7\U0001F1E7\U0001F1F7")
Run Code Online (Sandbox Code Playgroud)
这将导致:
u"\U0001F1E7\U0001F1F7 \U0001F1E7\U0001F1F7 "
Run Code Online (Sandbox Code Playgroud)
但是那段代码给了我一个错误:
sre_constants.error: bad character range
Run Code Online (Sandbox Code Playgroud)
一个提示(我认为)出现了什么问题,以下内容显示\ U0001F1E7在正则表达式中变为两个"字符":
re.search(re.compile(u"([\U0001F1E7])"),
u"\U0001F1E7\U0001F1F7\U0001F1E7\U0001F1F7").group(0)
Run Code Online (Sandbox Code Playgroud)
这导致:
u'\ud83c'
Run Code Online (Sandbox Code Playgroud)
可悲的是,我对unicode的理解太弱,无法取得进一步的进展.
编辑:我在Mac上使用python 2.7.10.
我想使用Python 3 is_emoji
检查字符串是否只包含一个表情符号.例如,有一个函数检查字符串是否只有一个表情符号.
def is_emoji(s):
pass
is_emoji("") #True
is_emoji("??") #False
Run Code Online (Sandbox Code Playgroud)
我尝试使用正则表达式但emojis没有固定长度.例如:
print(len("??".encode("utf-8"))) # 6
print(len("".encode("utf-8"))) # 4
Run Code Online (Sandbox Code Playgroud) 我在 Python Pandas 中有 DataFrame,如下所示:
sentence
------------
I like it
+1
One :-) :)
hah
Run Code Online (Sandbox Code Playgroud)
我需要仅选择包含表情符号或表情符号的行,因此我需要如下所示的内容:
sentence
------------
+1
One :-) :)
Run Code Online (Sandbox Code Playgroud)
我怎样才能在Python中做到这一点?
emoji ×7
python ×7
unicode ×6
python-3.x ×2
regex ×2
css ×1
emoticons ×1
html ×1
javascript ×1
nlp ×1
python-2.x ×1
string ×1
tweets ×1