2-ой элемент?
💧🏠🌟
string input = "💧🏠🌟"; char firstEmoji = input.ElementAt(0); // получить первый эмодзи char secondEmoji = input.ElementAt(1); // получить второй эмодзи
По индексу Строка - массив чаров
глянь здесь мб https://www.codeproject.com/Tips/5317106/Split-grapheme-in-Csharp
Там какой-то костыль с огромным списком символов. Наверное задачу можно проще решить. Я сначала через byte перегоняю строку эмодзи в unicode и она приобретает такой формат \ud83d\udca7\ud83c\udfe0\ud83c\udf1f Но обратно в эмодзи не нахожу как сконвертить вот первые 2 элемента: \ud83d\udca7 - теоретически это капля
а у тебя нет массива эмоджи?
Ну это последний вариант. Что-то не хочется хранить список из тысяч кодов.
а символы юникода собрать для сотен эмоджи вариант, ну куда хлеще
Что собрать? Мне просто нужна обратная операция.
тебе нужна проверка строки на наличие эмоджи или что? Из вопросов на эту тему ничего не понятно
а ты уверен что у тебя всегда эмодзи будет из 2х чаров состоять?
Ну проверка тоже не помешала бы, но пока нужна обратная операция тому коду что выше
в общем имхо это вообще нифига не тривиальная задача, чтобы на коленке что-то накидать, я бы искал что-то готовое и пробовал на своих сэмплах
Гугл прочесал до 5-ой страницы, чатГПТ тоже херню несёт)
ну вон там выше я кинул китаец заморочился, может сработает, попробуй
А что херню, спарси в файл или куда то ещё список эмодзи, далее сверяй есть ли они в строке. Без исходных данных, тебе нечего сравнить.
https://symbl.cc/ru/emoji/smileys-and-emotion/ Если очень нужно, то спарси все доступные эмодзи, я бы спарсил в json серелизовав далее этот json подружается и делаешь поиск символов и далее твоя обработка
https://github.com/github/gemoji/blob/master/db/emoji.json Также можно найти готовые json
Решение таки тривиальное) string emojiString = "💧🏠🌟"; System.Globalization.StringInfo stringInfo = new System.Globalization.StringInfo(emojiString); string secondEmoji = stringInfo.SubstringByTextElements(1, 1);//второй элемент
Обсуждают сегодня