172 похожих чатов

Не подскажите, как можно в строке находить (и заменять) эмоджи?

(включая те, которые из нескольких char состоят)

Т.е. мне нужно условное "ахаха 👍😳😘" превратить в "ахаха abc"

Я так понимаю что руками костылить нереально в данном случае

19 ответов

15 просмотров

ну нужно на кодпоинты разбить и найти либу которая умеет проверять что is_emoji

еще смотри, эмодзи 👨‍👨‍👧‍👧 модержит четыре эмодзи и три специальных знака между ними:👨👩👧👧 что в этом случае нужно делать?

в общем на тебе крейт https://docs.rs/unic-emoji-char/0.9.0/unic_emoji_char/index.html который может для char определить эмодзи это или нет если тебе нужно именно полные глифы разбирать, то ищи сам, это мрак

вафель-🧇🍓 Автор вопроса
вафель 🧇🍓
заменять все как один

Тогда могу только посочувствовать. Только что прогуглил два раза, ничего не нашел, все предлагают писать рукописные решения))

use unicode_segmentation::UnicodeSegmentation; use std::borrow::Cow; fn replace_emoji<'a, F: FnMut(&'a str) -> Cow<'a, str>>(string: &'a str, mut f: F) -> String { string.graphemes(true) .map(|g| match g.chars().next().map(|c| c as u32) { | Some(0x1D000..=0x1F77F) | Some(0xFE00..=0xFE0F) | Some(0x1F900..=0x1F9FF) | Some(0x3030) | Some(0x00AE) | Some(0x00A9) | Some(0x2100..=0x27BF) => f(g), _ => Cow::Borrowed(g) }) .collect::<String>() } fn main() { let string = "ахаха 👍😳😘 👨‍👨‍👧‍👧"; println!("{}", string); let mut i = 0; let sanitazed = replace_emoji(string, |_| { let result: char = unsafe { std::mem::transmute('a' as u32 + i) }; i += 1; Cow::Owned(format!("{}", result)) }); println!("{}", sanitazed); }

вафель-🧇🍓 Автор вопроса
вафель 🧇🍓
А откуда ренджи?

ну что за глупые вопросы? :D https://stackoverflow.com/a/36258684/2559709

вафель 🧇🍓
Спасибо!

правда я не все ренжи скопировал. Отвлекли по работе) Но смысл такой же. Пожалуйста

Αλεχ Zhukovsky
ну что за глупые вопросы? :D https://stackoverflow...

о, свифт норм язык https://developer.apple.com/documentation/swift/unicode/scalar/properties/3081577-isemoji

вафель-🧇🍓 Автор вопроса
Roma S
о, свифт норм язык https://developer.apple.com/doc...

> // 0 --> true немного не то что я бы хотел

Roma S
о, свифт норм язык https://developer.apple.com/doc...

щас бы о япе судить о тому кто сколько фунок в стд напихал :D Ну и 0 -> true это рофл конеш

Αλεχ Zhukovsky
щас бы о япе судить о тому кто сколько фунок в стд...

там ещё @escaping/@noescape тема прикольная. но то что решают насущные вопросы это тоже хорошо!

вафель-🧇🍓 Автор вопроса
Αλεχ Zhukovsky
use unicode_segmentation::UnicodeSegmentation; use...

Это с 3️⃣ не работает :/ Вот и пришло время обновлять код хд

вафель-🧇🍓 Автор вопроса
red75prime
https://t.me/rustlang_ru/346028

я скопировал остальные тоже

Похожие вопросы

Обсуждают сегодня

У нас была задача сохранить Double в строку и потом восстановить обратно (до точного совпадения побайтно). Не смогли написать. Сделали хранение байтового представления в виде ...
Сергей Данилов
12
А как называется четырехбайтовое число в делфи на всех платформах?
Моринаро
19
.MODEL SMALL .STACK 100h .DATA array DW 12, 23, 34, 45, 56, 67, 78, 89 arraySize DW 8 choice DB ? newline DB 13, 10, '$' .CODE start: MOV AX, @DATA M...
Дима
1
Всем привет🤚 Вопрос такой, хочу сделать свою карту для сайта с отмеченными на ней точками, при наведение на которые будет отображаться информация. Карту можно приближать, отда...
Василий Плешанов
17
Guys, what's better for this scenario? a x64 cpu or an arm cpu when handling a linux distro and USB devices like usb modems to manage network connections, proxy servers, etc? ...
Eduard Rivas
4
а вот забавно получается дельфевое приложение смотрится при 100% и 125% масштабировании экрана. Какие опции в дельфе надо покрутить?
Ed Doc
16
@Mont4nk3, привет! С чем пожаловал?
Alexey
10
Здравствуйте всем! Мне нужна такая функция. Я работаю проектировщиком мебели через программу базис-мебельщик. И там есть специальная модель которая которая эластична строит шк...
Arsen
8
я что-то пропустил? вдруг combobox'ы стали по умолчанию выделять.. (винда, stable)
Iluha Companets
7
Ни разу не программист. Играю в игру. А там дополнения на lua. Пытаюсь их заставить на версиях игры для которых эти дополнения не предназначены из-за того что версии игры стар...
peri
3
Карта сайта