- Удаление всех эмодзи из текста
- Ответы 2
- Другие вопросы по теме
- demoji
- Major Changes in Version 1.x
- Command-line Use
- Reference
- Footnote: Emoji Sequences
- 1.0.0
- 0.4.0
- 0.3.0
- 0.2.1
- 0.2.0
- 0.1.5
- remove-emoji 0.0.2
- Навигация
- Статистика
- Метаданные
- Сопровождающие
- Классификаторы
- Описание проекта
- Подробности проекта
- Статистика
- Метаданные
- Сопровождающие
- Классификаторы
- История выпусков Уведомления о выпусках | Лента RSS
- Загрузка файлов
- Source Distribution
- Хеши для remove_emoji-0.0.2.tar.gz
- Помощь
- О PyPI
- Внесение вклада в PyPI
- Использование PyPI
Удаление всех эмодзи из текста
Этот вопрос был задан здесь Python: как удалить все смайлы Без решения, у меня есть шаг к решению. Но нужна помощь, чтобы закончить это.
Я пошел и получил все шестнадцатеричные коды смайликов с сайта смайликов: https://www.unicode.org/emoji/charts/emoji-ordering.txt
Затем я прочитал в файле так:
file = open('emoji-ordering.txt') temp = file.readline() final_list = [] while temp != '': #print(temp) if not temp[0] == '#' : utf_8_values = ((temp.split(';')[0]).rstrip()).split(' ') values = ["u\\"+(word[0]+((8 - len(word[2:]))*'0' + word[2:]).rstrip()) for word in utf_8_values] #print(values[0]) final_list = final_list + values temp = file.readline() print(final_list)
Я надеялся, что это даст мне литералы Unicode. Это не так, моя цель — получить литералы Unicode, чтобы я мог использовать часть решения из последнего вопроса и иметь возможность исключить все смайлы. Есть идеи, что нам нужно, чтобы получить решение?
Оператор pass в Python — это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Python — самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science.
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
Ответы 2
Сначала установите смайлики:
Итак, сделайте это:
import emoji def give_emoji_free_text(self, text): allchars = [str for str in text] emoji_list = [c for c in allchars if c in emoji.UNICODE_EMOJI] clean_text = ' '.join([str for str in text.split() if not any(i in str for i in emoji_list)]) return clean_text text = give_emoji_free_text(text)
Или вы можете попробовать:
emoji_pattern = re.compile("[" u"\U0001F600-\U0001F64F" # emoticons u"\U0001F300-\U0001F5FF" # symbols & pictographs u"\U0001F680-\U0001F6FF" # transport & map symbols u"\U0001F1E0-\U0001F1FF" # flags (iOS) u"\U0001F1F2-\U0001F1F4" # Macau flag u"\U0001F1E6-\U0001F1FF" # flags u"\U0001F600-\U0001F64F" u"\U00002702-\U000027B0" u"\U000024C2-\U0001F251" u"\U0001f926-\U0001f937" u"\U0001F1F2" u"\U0001F1F4" u"\U0001F620" u"\u200d" u"\u2640-\u2642" "]+", flags=re.UNICODE) text = emoji_pattern.sub(r'', text)
Вот сценарий Python, который использует get_emoji_regexp() библиотеки эмодзи.
Он считывает текст из файла и записывает текст без смайлов в другой файл.
import emoji import re def strip_emoji(text): print(emoji.emoji_count(text)) new_text = re.sub(emoji.get_emoji_regexp(), r"", text) return new_text with open("my_file.md", "r") as file: old_text = file.read() no_emoji_text = strip_emoji(old_text) with open("file.md", "w+") as new_file: new_file.write(no_emoji_text)
Другие вопросы по теме
Назначение нового значения столбца из списка значений, предупреждение для больших наборов данных — Pandas
demoji
Accurately find or remove emojis from a blob of text using data from the Unicode Consortium’s emoji code repository.
Major Changes in Version 1.x
Version 1.x of demoji now bundles Unicode data in the package at install time rather than requiring a download of the codes from unicode.org at runtime. Please see the CHANGELOG.md for detail and be familiar with the changes before updating from 0.x to 1.x.
Command-line Use
You can use demoji or python -m demoji to replace emojis in file(s) or stdin with their :code: equivalents:
Reference
Find emojis within string . Return a mapping of .
Find emojis within string . Return a list (with possible duplicates).
If desc is True, the list contains description codes. If desc is False, the list contains emojis.
Replace emojis in string with repl .
Replace emojis in string with their description codes. The codes are surrounded by sep .
Show the timestamp of last download for the emoji data bundled with the package.
Footnote: Emoji Sequences
Numerous emojis that look like single Unicode characters are actually multi-character sequences. Examples:
- The keycap 2️⃣ is actually 3 characters, U+0032 (the ASCII digit 2), U+FE0F (variation selector), and U+20E3 (combining enclosing keycap).
- The flag of Scotland 7 component characters, b’\\U0001f3f4\\U000e0067\\U000e0062\\U000e0073\\U000e0063\\U000e0074\\U000e007f’ in full esaped notation.
(You can see any of these through s.encode(«unicode-escape») .)
demoji is careful to handle this and should find the full sequences rather than their incomplete subcomponents.
The way it does this it to sort emoji codes by their length, and then compile a concatenated regular expression that will greedily search for longer emojis first, falling back to shorter ones if not found. This is not by any means a super-optimized way of searching as it has O(N 2 ) properties, but the focus is on accuracy and completeness.
1.0.0
This is a backwards-incompatible release with several substantial changes.
The largest change is that demoji now bundles a static copy of Unicode emoji data with the package at install time, rather than requiring a runtime download of the codes from unicode.org.
Changes below are grouped by their corresponding Semantic Versioning identifier.
- Drop support for Python 2 and Python 3.5
- The demoji package now bundles emoji data that is distributed with the package at install time, rather than requiring a download of the codes from the unicode.org site at runtime (closes #23)
- As a result of the above change, the following functions are removed from the demoji API:
- download_codes()
- parse_unicode_sequence()
- parse_unicode_range()
- stream_unicodeorg_emojifile()
- The demoji.DIRECTORY and demoji.CACHEPATH attributes are deprecated due to no longer being functionally in used by the package. Accessing them will warn with a FutureWarning , and these attributes may be removed completely in a future release
- demoji can now be installed with optional ujson support for faster loading of emoji data from file (versus the standard library’s json , which is the default); use python -m pip install demoji[ujson]
- The dependencies requests and colorama have been removed completely
- importlib_resources (a backport module) is now required for Python < 3.7
- The EMOJI_VERSION attribute, newly added to demoji , is a str denoting the Unicode database version in use
- Fix a typo in demoji.__all__ to properly include demoji.findall_list()
- Internal change: Functions that call set_emoji_pattern() are now decorated with a @cache_setter to set the cache
- Some unit tests have been removed to update the change in behavior from downloading codes to bundling codes with install
- Update README to reflect bundling behavior
0.4.0
- Update emoji source list to version 13.1. (See 5090eb5.)
- Formally support Python 3.9. (See 6e9c34c.)
- Bugfix: ensure that demoji.last_downloaded_timestamp() returns correct UTC time. (See 6c8ad15.)
0.3.0
- Feature: add findall_list() and replace_with_desc() functions. (See 7cea333.)
- Modernize setup config to use setup.cfg . (See 8f141e7.)
0.2.1
0.2.0
- Windows: use the colorama package to support printing ANSI escape sequences on Windows; this introduces colorama as a dependency. (See cd343c1.)
- Setup: Fix a bug in setup.py that would require dependencies to be installed prior to installation of demoji in order to find the __version__ . (See d5f429c.)
- Python 2 + Windows support: use io.open(. encoding=’utf-8′) consistently in setup.py . (See 1efec5d.)
- Distribution: use a universal wheel in PyPI release. (See 8636a32.)
0.1.5
- Performance improvement: use re.escape() rather than failing to compile a small subset of codes.
- Remove an unused constant in __init__.py .
remove-emoji 0.0.2
remove emojis from string, as description, comment and etc.
Навигация
Статистика
Метаданные
Лицензия: BSD License (BSD License)
Сопровождающие
Классификаторы
Описание проекта
Автор данного пакета не предоставил описание проекта
Подробности проекта
Статистика
Метаданные
Лицензия: BSD License (BSD License)
Сопровождающие
Классификаторы
История выпусков Уведомления о выпусках | Лента RSS
Загрузка файлов
Загрузите файл для вашей платформы. Если вы не уверены, какой выбрать, узнайте больше об установке пакетов.
Source Distribution
Uploaded 12 июн. 2017 г. source
Хеши для remove_emoji-0.0.2.tar.gz
Хеши для remove_emoji-0.0.2.tar.gz
Алгоритм Хеш-дайджест SHA256 c3d179a84af46112f2ad65d3e0fcb3647ca37b5d70040334ef66cdcd196a6803 Копировать MD5 04d63aa51eb27f8822728c0956600808 Копировать BLAKE2b-256 769bf1b4a0e577f4a3511d0686bbbff5d86ab69f6a6a64eaa5884b8b0d6d9839 Копировать Помощь
О PyPI
Внесение вклада в PyPI
Использование PyPI
Разработано и поддерживается сообществом Python’а для сообщества Python’а.
Пожертвуйте сегодня!PyPI», «Python Package Index» и логотипы блоков являются зарегистрированными товарными знаками Python Software Foundation.