万能的大大们,
有没有办法能过滤掉 所有 的emoji表情??包括各种输入法自带的,苹果手机自带的
为了过滤掉emoji,我现在用的是:
但现在发现这句话并不能过滤掉全部的emoji,比如三星手机,讯飞输入法中的一部分(虽然超级萌)的表情
万能的大大们,
有没有办法能过滤掉 所有 的emoji表情??包括各种输入法自带的,苹果手机自带的
为了过滤掉emoji,我现在用的是:
但现在发现这句话并不能过滤掉全部的emoji,比如三星手机,讯飞输入法中的一部分(虽然超级萌)的表情
这里是世界 emoji 大全了:https://apps.timwhitlock.info...
所有的 emoji 表情囊括在以下范围中:
U+2190 to U+21FF
U+2600 to U+26FF
U+2700 to U+27BF
U+3000 to U+303F
U+1F300 to U+1F64F
U+1F680 to U+1F6FF
正则可以这么写/[\u2190-\u21FF]|[\u2600-\u26FF]|[\u2700-\u27BF]|[\u3000-\u303F]|[\u1F300-\u1F64F]|[\u1F680-\u1F6FF]/g
const emojiSeq = String.raw`(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})`;
const emojiSTags = String.raw`\u{E0061}-\u{E007A}`;
const emojiRegex = new RegExp(String.raw`[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[${emojiSTags}]{2}[\u{E0030}-\u{E0039}${emojiSTags}]{1,3}\u{E007F}|${emojiSeq}(?:\u200D${emojiSeq})*`, 'gu');
String.prototype.replaceEmojis = function (replace) {
return this.replaceAll(emojiRegex, replace ?? '');
}
例子:
"包含Emoji的字符串".replaceEmojis("替换Emoji的字符串");
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
/uD83C|uD83D|uD83E[u200D|uFE0F]|uD83C|uD83D|uD83E|[0-9|*|#]uFE0Fu20E3|[0-9|#]u20E3|[u203C-u3299]uFE0Fu200D|[u203C-u3299]uFE0F|[u2122-u2B55]|u303D|[A9|AE]u3030|uA9|uAE|u3030/ig;