Новая строка / код \ r \ n \ r \ n Отображение перед текстом - PullRequest
1 голос
/ 13 мая 2019

Я пытаюсь импортировать электронную почту в веб-приложение, и при открытии электронной почты в веб-приложении отображается следующий текст:

"В вашем билете есть новая корреспонденция, добавленная x. \ R \ n \ r \ nПросмотреть это билет на клиентском портале на clientportal.com \ r \ n \ r \ nАльтернативно вы можете просматривать обновления билетов с вашего мобильного устройства, установив и вход в мобильное приложение x. \ r \ n \ r \ nЕсли вы предпочитаете получать более подробную информацию об обновлениях вашего билета в этих сообщениях, пожалуйста выбрать получение зашифрованных писем. "

Мой код:

                    descr=item.body
                    descr = descr.replace("\r","\\r") 
                    descr = descr.replace("\n","\\n") 
                    descr = descr.encode('ascii', 'ignore')
                    try:
                        gotdata = spitit[3]
                    except IndexError:

Я пытаюсь удалить '\ r \ n \ r \ n' перед текстом. Я также не уверен, почему в начале текста появляется буква «b».

1 Ответ

0 голосов
/ 13 мая 2019

Здесь, я думаю, есть несколько проблем - проблема b - это проблема кодирования ваших исходных данных, поскольку они интерпретируются как байтовые данные.Вам нужно правильно закодировать строку - я думаю, что следующее должно сделать это

descr = item.body.encode('utf-8')

Новые строки, появляющиеся в веб-приложении, немного сложнее.Сначала вы экранируете специальные символы вызовами замены, но если они экранированы, они читаются как строки, а не как специальные символы.Кроме того, \ n \ r не является новой строкой в ​​веб-языках.В зависимости от того, как вы хотите, чтобы он отображался, вам может понадобиться заменить новые строки тегами <br> или чем-то в этом роде, чтобы они правильно отображались, или просто полностью удалить их с помощью descr.replace("\n","")

...