Python Фильтрация текста строки для удаления символов изображения - PullRequest
0 голосов
/ 20 июня 2020

Как лучше всего фильтровать текст в Python, чтобы я включал только цифры, буквы верхнего и нижнего регистра, всю пунктуацию и символы для новой строки, табуляции и т. Д. c.

Например, у меня может быть текст ниже, и я хочу избавиться от изображений, но ссылки, знаки препинания, буквы, цифры в порядке:

?Эпизод 19 ВЫШЕЛ СЕЙЧАС! ? ?Pasta Go Go Обзор еды? Ужин при свечах в машине! PASTA LA VISTA Щелкните ссылку B…

Я просмотрел регулярные выражения, но не уверен, как это будет работать. Я пытался повторно сопоставить.

Похоже, таблицы перевода могут быть путем к go, но они, похоже, не работают путем исключения. Я хотел бы определить набор символов, который мне нужен, и удалить все остальное.

Ответы [ 2 ]

2 голосов
/ 20 июня 2020

Модуль unicodedata предоставит вам категории Unicode, перечисленные здесь: https://unicodebook.readthedocs.io/unicode.html#categories. Эмодзи - это «так». Могут быть и другие категории, которые вы хотите отфильтровать, но, по крайней мере, сделайте

>>> import unicodedata
>>> text = "?Episode 19 is OUT NOW!? ?Pasta Go Go Food Review? Candle Light Dinner in the Car! PASTA LA VISTA Click Link B…"
>>> filtered = "".join(c for c in text if "So" not in unicodedata.category(c))
>>> filtered
'Episode 19 is OUT NOW! Pasta Go Go Food Review Candle Light Dinner in the Car! PASTA LA VISTA Click Link B…'
0 голосов
/ 20 июня 2020

Быстрое и грязное решение - просто преобразовать строку в ascii, игнорируя все символы, отличные от ascii

unicode_string.encode('ascii', 'ignore')

Это будет работать только для Engli sh ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...