用于在 openrefine 中搜索和替换表情符号的正则表达式
Regex to search and replace emojis in openrefine
我正在处理一个包含大量数据的文件,其中还包括表情符号。我正在使用 openrefine 来清理数据,但我无法找到删除常见表情符号(如笑脸)的捷径,它包含在数据中很多我尝试了一些正则表达式,它适用于一些表情符号,但有些仍然存在。下面是我在搜索和替换中尝试的代码
"[\p{C}]|[\p{So}]|[\u20E3]"
构建正则表达式以匹配所有 Unicode 表情符号并非易事,但这里有一个 Github 带有脚本的存储库,可根据 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)
截图
我正在处理一个包含大量数据的文件,其中还包括表情符号。我正在使用 openrefine 来清理数据,但我无法找到删除常见表情符号(如笑脸)的捷径,它包含在数据中很多我尝试了一些正则表达式,它适用于一些表情符号,但有些仍然存在。下面是我在搜索和替换中尝试的代码
"[\p{C}]|[\p{So}]|[\u20E3]"
构建正则表达式以匹配所有 Unicode 表情符号并非易事,但这里有一个 Github 带有脚本的存储库,可根据 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)
截图