Regex 正则表达式在openrefine中搜索和替换表情符号
我正在处理一个包含大量数据的文件,其中也包含表情符号。我正在使用openrefine来清理数据,但是我找不到一条捷径来删除常见的表情符号,比如笑脸,它包含在很多数据中。我尝试了一些正则表达式,它对一些表情符号有效,但有些仍然存在。下面是我在搜索和替换中尝试的代码Regex 正则表达式在openrefine中搜索和替换表情符号,regex,text,ascii,emoji,openrefine,Regex,Text,Ascii,Emoji,Openrefine,我正在处理一个包含大量数据的文件,其中也包含表情符号。我正在使用openrefine来清理数据,但是我找不到一条捷径来删除常见的表情符号,比如笑脸,它包含在很多数据中。我尝试了一些正则表达式,它对一些表情符号有效,但有些仍然存在。下面是我在搜索和替换中尝试的代码 "[\p{C}]|[\p{So}]|[\u20E3]" 构建一个正则表达式以匹配所有Unicode表情符号并非易事,但这里有一个Github repo,其中包含一个基于Unicode标准(以及该脚本的输出)构建它的脚本: 您可以尝试使
"[\p{C}]|[\p{So}]|[\u20E3]"
构建一个正则表达式以匹配所有Unicode表情符号并非易事,但这里有一个Github repo,其中包含一个基于Unicode标准(以及该脚本的输出)构建它的脚本:
您可以尝试使用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)
屏幕截图