discord.py 清洁表情符号的内容?

discord.py Clean Content for emojis?

如何处理自定义表情符号并清理它们?例如将 <a:load:742504529278402560> 变成 :load:?

虽然库中似乎没有内置的方法来执行此操作。

您可能想要使用正则表达式。试试这个:

import re

pattern = r":\w*:"

# NEXT IS JUST A TEST

string = "<a:load:742504529278402560>"
result = re.search(pattern, string)
print(result.group())

正如 Arie Chertkov 所说,这将是实现这一目标的理想方式。按照你的要求,我已经把它写进了一个函数中。

import re

pattern = r":\w*:"

def clean(string):
    result = re.search(pattern, string)
    return(result.group())

print(clean("<a:load:742504529278402560>"))

这里有一个方法:

import re
def cleanemojis(string):
    return re.sub(r"<a?:([a-zA-Z0-9_-]{1,32}):[0-9]{17,21}>", r"::", string)
>>> cleanemojis("Loading <a:load:742504529278402560>")
"Loading :load:"