Удаление различных символов из текстаPython

Программы на Python
Ответить
Anonymous
 Удаление различных символов из текста

Сообщение Anonymous »

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

Код: Выделить всё

This is a headline

And inside the text there are 'abbreviations', e.g. "bzw." in German or some German dates, like 2. Dezember 2017. Sometimes there are even enumerations, that I might just eliminate completely.
• they have
◦ different bullet points
- or even equations and
Sometimes there are special symbols. ✓
Пример вывода:

Код: Выделить всё

And inside the text there are abbreviations, for example beziehungsweise in German or some German dates, like 2 Dezember 2017. Sometimes there are even enumerations, that I might just eliminate completely. Sometimes there are special symbols.
Что я сделал:

Код: Выделить всё

with open(r'C:\\Users\me\\Desktop\\ex.txt', 'r', encoding="utf8") as infile:
data = infile.read()
data = data.replace("'", '')
data = data.replace("e.g.", 'for example')
#and so on
with open(r'C:\\Users\me\\Desktop\\ex.txt', 'w', encoding="utf8") as outfile:
outfile.write(data)
Мои проблемы (хотя номер 2 самый важный):
  • Мне просто нужна строка с этим вводом, но она явно разрывается из-за кавычек. Есть ли какой-нибудь способ сделать это, кроме работы с файлами, как я? На самом деле я копирую текст и хочу, чтобы приложение очистило его.
  • Код кажется очень неэффективным, потому что я просто вручную напишу то, что не забуду удалить/почистить, но не все сокращения знаю наизусть. Как мне, так сказать, очистить его за один раз?
  • Есть ли способ удалить заголовок, перечисление и точку . , который появляется в этой немецкой дате? Мой код этого не делает.
Изменить: я только что вспомнил такие вещи, как text = re.sub(r" (@\[A-Za-z0-9]+)|([^0-9A-Za-z \t])|(\w+:\/\/\S+)|^rt|http.+?" , "", text), но регулярное выражение неэффективно для огромных тексты, не так ли?

Подробнее здесь: https://stackoverflow.com/questions/705 ... rom-a-text
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»