Skip to main content

Crate emoji_sanitize

Crate emoji_sanitize 

Source
Expand description

§emoji-sanitize

Strip Unicode characters that emoji rendering uses but plain-text analysis doesn’t need: variation selectors (U+FE00–U+FE0F), the zero-width joiner (U+200D), and skin-tone modifiers (U+1F3FB–U+1F3FF).

Two modes:

  • strip_modifiers — keep the base emoji codepoint, drop modifiers. 👨‍👩‍👧 becomes 👨👩👧.
  • strip_all_emoji — drop everything in the emoji blocks too.

§Example

use emoji_sanitize::{strip_modifiers, strip_all_emoji};
let s = "Hi \u{1F468}\u{200D}\u{1F469}\u{200D}\u{1F467}!";
assert_eq!(strip_modifiers(s), "Hi \u{1F468}\u{1F469}\u{1F467}!");

Functions§

is_emoji
True for emoji codepoints in the common ranges (BMP misc symbols, SMP misc, SMP supplemental, emoticons, transport/map symbols).
strip_all_emoji
Strip everything we recognize as emoji or emoji-modifier.
strip_modifiers
Strip variation selectors, ZWJ, and skin-tone modifiers — keeping the base emoji codepoints.