除了用于谷歌表脚本的javascript中的表情符号之外的所有内容

时间:2018-02-12 21:32:36

标签: javascript regex unicode google-sheets emoji

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

我正在使用这个正则表达式找到表情符号。

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

除了带有此正则表达式的项目外,如何删除文本中的所有内容。或者我怎样才能删除除unicode之外的所有内容。我已经尝试了所有其他建议,但输出不正确或它不适用于电子表格。

目前我有:

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

   return result;
}

这会返回所有表情符号,但不会看到:⚠️❄️⚕️☃️我看到⚠,,❄,,⚕,☃,.医生作为两个单独的表情符号返回。

1 个答案:

答案 0 :(得分:2)

为什么不试试内置的REGEX而不是自定义函数?

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

根据Google Re2

,表情符号无法打印