「 emoji in str position 」
npm install emoji-str-position
yarn add emoji-str-position
const m = require('emoji-str-position');
const text = `
\u{231A}: ⌚ default emoji presentation character (Emoji_Presentation)
\u{2194}\u{FE0F}: ↔️ default text presentation character rendered as emoji
\u{1F469}: 👩 emoji modifier base (Emoji_Modifier_Base)
\u{1F469}\u{1F3FF}: 👩🏿 emoji modifier base followed by a modifier
`;
const data = m(text);
// data.emojiPos.length === 8
data details
//
data.emojiIdx ==
{
'1': true,
'4': true,
'64': true,
'68': true,
'125': true,
'129': true,
'174': true,
'180': true,
};
const emojiPos = [
{
emoji: '⌚',
len: 1,
pos: 1,
},
{
emoji: '⌚',
len: 1,
pos: 4,
},
{
emoji: '↔️',
len: 1,
pos: 64,
},
{
emoji: '↔️',
len: 1,
pos: 68,
},
{
emoji: '👩',
len: 1,
pos: 125,
},
{
emoji: '👩',
len: 1,
pos: 129,
},
{
emoji: '👩🏿',
len: 1,
pos: 174,
},
{
emoji: '👩🏿',
len: 1,
pos: 180,
},
];
the
emoji length
diff Betweennode
withBrowser
emojiStrPosition(str) : data
name: | str |
---|---|
Type: | string |
Desc: | str with/out emoji. |
name: | data |
---|---|
Type: | Object |
Opt: | emojiPos |
Opt: | emojiIdx |
name: | emojipos |
---|---|
Type: | Array |
Opt: | emoji: <source emoji> |
Opt: | len :< emoji length> |
Opt: | pos :< emoji in str index> |
name: | emojiIdx |
---|---|
Type: | Object |
Opt: | index : true |
Desc:index : |
each emoji from pos to pos+len, be true emojiIdx[pos...(pos+len)] = true |
- emoji-regex A regular expression to match all Emoji-only symbols as per the Unicode Standard.
- zh-to-en-symbol Fix Zh symbol to En symbol
MIT © chinanf-boy