Dev_nab
@Dev_nab

Работа со строками python — Не работает replace с переносом строки в БД?

Есть строка text_1, в MySQL (TextField), для примера выглядит так:
text_1
-----------------+ |
Мороз и солнце,
День чудесный
чудесный
чудесный
| +---------------


Делаю в python так:
new_text = text_1.replace('чудесный', '')
# все работает, слово "чудесный" пропадает полностью, НО если

# хочу убрать два слова, а одно оставить
new_text = text_1.replace('чудесный\nчудесный', '')
# ничего не работает, выводит как было
Мороз и солнце,
День чудесный
чудесный
чудесный


Пробовал по-разному
new_text = text_1.replace('чудесный чудесный', '')
new_text = text_1.replace('чудесный \n чудесный', '')
new_text = text_1.replace('чудесный\n чудесный', '')
# и т.д. все равно не работает


Как удалить сразу два одинаковых слова?
Причем значение строки text_1 может быть разным.

Как MySQL хранит перенос строки?
Выводил значение text_1 в консоли БД, там сразу с переносом.
Фреймворк django.
  • Вопрос задан
  • 191 просмотр
Решения вопроса 1
Dev_nab
@Dev_nab Автор вопроса
Спасибо o5a за
repr(text_1)

Выяснилось, что перенос строки в БД через \r\n
Т.е. в консоли MySQL и на сайте отображается так
text_1
-----------------+ |
Мороз и солнце,
День чудесный
чудесный
чудесный
| +---------------

Строка python будет такая
text_1 = 'Мороз и солнце,\r\nДень чудесный\r\nчудесный\r\nчудесный'
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
ZIK1337
@ZIK1337
dRNlgaW.jpg
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы