要在 Python 中删除文本里的这种表情符号(如 🙂、😂、👍 等 emoji),可以用以下几种方法。

方法 1:使用正则表达式删除 emoji

这是最通用的一种方式,直接过滤所有 emoji 字符:

import re

def remove_emoji(text):
    emoji_pattern = re.compile(
        "["
        "\U0001F600-\U0001F64F"  # 表情符号
        "\U0001F300-\U0001F5FF"  # 符号 & 图标
        "\U0001F680-\U0001F6FF"  # 交通 & 地图符号
        "\U0001F1E0-\U0001F1FF"  # 旗帜 (iOS)
        "\U00002700-\U000027BF"  # 杂项符号
        "\U0001F900-\U0001F9FF"  # 补充符号
        "\U0001FA70-\U0001FAFF"  # 额外补充符号
        "]+", 
        flags=re.UNICODE
    )
    return emoji_pattern.sub(r'', text)

text = "你好🙂,今天真不错😂!"
clean_text = remove_emoji(text)
print(clean_text)

输出:

你好,今天真不错!

方法 2:使用 emoji 第三方库

如果你安装了 emoji 模块,可以更精确地处理:

pip install emoji

import emoji

def remove_emoji(text):
    return emoji.replace_emoji(text, replace='')

text = "你好🙂,今天真不错😂!"
print(remove_emoji(text))

同样输出:

你好,今天真不错!

方法 3:仅保留中英文和常见符号

如果你不仅想去掉 emoji,还想过滤掉所有非文字字符:

import re

def clean_text(text):
    return re.sub(r'[^\u4e00-\u9fa5A-Za-z0-9,.!?,。!? ]+', '', text)

text = "你好🙂,今天真不错😂!"
print(clean_text(text))

你好,今天真不错!

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐