嘿,所以我需要使用 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;
}
这会返回所有表情符号,但不会看到: ⚠️🙌❄️👩🏻⚕️☃️🥂 我看到 ⚠,🙌,❄,👩🏻,⚕,☃,🥂 。医生以两个单独的表情符号形式返回。
最佳答案
为什么不尝试使用内置的 REGEX,而不是自定义函数?
=REGEXREPLACE(A5,"[[:print:]]","")
根据 Google Re2,表情符号不可打印😋
关于javascript - 删除 Google Sheets 脚本中除了表情符号之外的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48755842/