【问题标题】:Regex to search and replace emojis in openrefine正则表达式在 openrefine 中搜索和替换表情符号
【发布时间】:2019-10-30 10:24:32
【问题描述】:

我正在处理一个包含大量数据的文件,其中还包含表情符号。我正在使用 openrefine 清理数据,但我无法找到删除常见表情符号(如笑脸)的捷径,这些表情符号包含在数据中很多,我尝试了一些正则表达式,它适用于一些表情符号,但有些仍然存在。下面是我在搜索和替换中尝试的代码

"[\p{C}]|[\p{So}]|[\u20E3]"

【问题讨论】:

    标签: regex text ascii emoji openrefine


    【解决方案1】:

    你能试试这个代码,用 Jython/Python 代替 Grel 吗?

    import re
    
    def remove_emojis(data):
        emoj = re.compile("["
            u"\U0001F600-\U0001F64F"  # emoticons
            u"\U0001F300-\U0001F5FF"  # symbols & pictographs
            u"\U0001F680-\U0001F6FF"  # transport & map symbols
            u"\U0001F1E0-\U0001F1FF"  # flags (iOS)
            u"\U00002500-\U00002BEF"  # chinese char
            u"\U00002702-\U000027B0"
            u"\U00002702-\U000027B0"
            u"\U000024C2-\U0001F251"
            u"\U0001f926-\U0001f937"
            u"\U00010000-\U0010ffff"
            u"\u2640-\u2642" 
            u"\u2600-\u2B55"
            u"\u200d"
            u"\u23cf"
            u"\u23e9"
            u"\u231a"
            u"\ufe0f"  # dingbats
            u"\u3030"
                          "]+", re.UNICODE)
        return re.sub(emoj, '', data)
    
    return remove_emojis(value)
    

    截图

    Source

    【讨论】:

      【解决方案2】:

      构建一个匹配所有 Unicode 表情符号的正则表达式并非易事,但有一个带有脚本的 Github 存储库,可在此处获得基于 Unicode 标准(以及该脚本的输出)构建它的脚本:

      https://github.com/mathiasbynens/emoji-regex

      【讨论】:

        猜你喜欢
        • 2013-06-14
        • 2018-05-25
        • 2010-11-25
        • 2010-10-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多