如何从字符串中删除表情符号?

问题描述 投票:0回答:1

我需要手动从字符串中删除表情符号。这里的问题是表情符号是由多个 unicode 符号呈现的,例如:

'🔥'.split('') // output ['\uD83D', '\uDD25']

我可以检查前一个是否是

\uD83D
并将两者都删除,因为似乎每个表情符号都以它开头,但后来我发现有些表情符号可能包含多个表情符号:

'🧑‍💻'.split('') //  ['\uD83E', '\uDDD1', '‍', '\uD83D', '\uDCBB']

虽然这里的模式很清楚,但我想知道是否有检测它们的最佳实践?

javascript string emoji
1个回答
0
投票

您必须使用字符串的替换方法来替换为空的“”。

例如:

yourString.replace(/([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83E[\uDD10-\uDDFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF])/g, '');

yourString.replace(/([\uE000-\uF8FF]|\uD83D[\uDC00-\uDDFF]|\uD83C[\uDF00-\uDFFF])/g, '');
© www.soinside.com 2019 - 2024. All rights reserved.