从 String Rust 中删除表情符号

Remove Emojis from String Rust

如何从 "⚡hel✅lo" 这样的字符串中删除表情符号?

我知道您需要使用 Regex 和其他一些东西,但我不确定如何编写语法并替换 string.[=13 中的所有内容=]

谢谢,非常感谢帮助。

所以我花了一些时间来弄清楚,但这是解决方案

/// Removes all emojis from a string **(retains chinese characters)**
///
/// # Arguments
///
/// * `string` - String with emojis
///
/// # Returns
///
/// * `String` - De-emojified string
///
/// # Examples
///
/// ```
///
/// // Remove all emojis from this string
/// let demojified_string = demoji(String::from("⚡hel✅lo"))
/// // Output: `hello`
/// ```
pub fn demoji(string: String) -> String {
    let regex = Regex::new(concat!(
        "[",
        "\u{01F600}-\u{01F64F}", // emoticons
        "\u{01F300}-\u{01F5FF}", // symbols & pictographs
        "\u{01F680}-\u{01F6FF}", // transport & map symbols
        "\u{01F1E0}-\u{01F1FF}", // flags (iOS)
        "\u{002702}-\u{0027B0}",
        "\u{0024C2}-\u{01F251}",
        "]+",
    ))
    .unwrap();

    regex.replace_all(&string, "").to_string()
}