此处已问过这个问题Python : How to remove all emojis如果没有解决方案,我将向解决方案迈出一步。但需要帮助才能完成。
我去了Emoji站点https://www.unicode.org/emoji/charts/emoji-ordering.txt
并获得了所有emoji十六进制代码点然后我像这样读取文件:
file = open('emoji-ordering.txt')
temp = file.readline()
final_list = []
while temp != '':
#print(temp)
if not temp[0] == '#' :
utf_8_values = ((temp.split(';')[0]).rstrip()).split(' ')
values = ["u\\"+(word[0]+((8 - len(word[2:]))*'0' + word[2:]).rstrip()) for word in utf_8_values]
#print(values[0])
final_list = final_list + values
temp = file.readline()
print(final_list)
我希望这能给我unicode文字。并非如此,我的目标是获取unicode文字,因此我可以使用上一个问题的部分解决方案,并能够排除所有表情符号。有什么想法我们需要解决方案吗?
答案 0 :(得分:1)
首先安装表情符号:
pip install emoji
或
pip3 install emoji
这样做:
import emoji
def give_emoji_free_text(self, text):
allchars = [str for str in text]
emoji_list = [c for c in allchars if c in emoji.UNICODE_EMOJI]
clean_text = ' '.join([str for str in text.split() if not any(i in str for i in emoji_list)])
return clean_text
text = give_emoji_free_text(text)
这对我有用!
或者您可以尝试:
emoji_pattern = re.compile("["
u"\U0001F600-\U0001F64F" # emoticons
u"\U0001F300-\U0001F5FF" # symbols & pictographs
u"\U0001F680-\U0001F6FF" # transport & map symbols
u"\U0001F1E0-\U0001F1FF" # flags (iOS)
u"\U0001F1F2-\U0001F1F4" # Macau flag
u"\U0001F1E6-\U0001F1FF" # flags
u"\U0001F600-\U0001F64F"
u"\U00002702-\U000027B0"
u"\U000024C2-\U0001F251"
u"\U0001f926-\U0001f937"
u"\U0001F1F2"
u"\U0001F1F4"
u"\U0001F620"
u"\u200d"
u"\u2640-\u2642"
"]+", flags=re.UNICODE)
text = emoji_pattern.sub(r'', text)
答案 1 :(得分:1)
这是一个使用表情符号库的console.log(child.move)
的Python脚本。
它从文件中读取文本,并将无表情符号的文本写入另一个文件。
get_emoji_regexp()