删除Java脚本for Google Sheet脚本中除表情符号以外的所有内容

人气:76 发布:2023-01-03 标签: regex javascript unicode google-sheets emoji

问题描述

嘿,我需要使用googlespreadSheets(Java脚本)创建一个脚本,该脚本接受一个单元格的输入,并将该单元格中的所有表情符号输出到选定的单元格中。我想通过删除单元格文本中除表情符号以外的所有内容来完成此操作。这是因为如果我试图只匹配表情符号,我的输出就不正确。

我使用这个正则表达式来定位表情符号。

  var re = /[u1F60-u1F64]|[u2702-u27B0]|[u1F68-u1F6C]|[u1F30-u1F70]|[u2600-u26ff]|[uD83C-uDBFFuDC00-uDFFF]+/gi;

如何从文本中删除除带有此正则表达式的项以外的所有内容。或者,我如何删除除Unicode之外的所有内容。我尝试了所有其他建议,但输出不正确或不适用于电子表格。

目前我有:

function SHOW_EMOJIS(s) {
   var re = /[u1F60-u1F64]|[u2702-u27B0]|[u1F68-u1F6C]|[u1F30-u1F70]|[u2600-u26ff]|[uD83C-uDBFFuDC00-uDFFF]+/gi;
   var result = s.match(re).toString();

   return result;
}

这将返回所有的表情符号,但不是看到:⚠️❄️‍⚕️☃️,而是看到⚠,,❄,,⚕,☃,。医生以两个不同的表情符号返回。

推荐答案

与其使用自定义函数,为什么不尝试内置的REGEX?

=REGEXREPLACE(A5,"[[:print:]]","")

根据Google Re2,Emoji不可打印

18