Я пытаюсь заменить символы новой строки в unicode, представляют в виде строки и, кажется, пропускают некоторые волшебные коды.
Мой конкретный пример - то, что я работаю над AppEngine и пытаюсь поместить заголовки от страниц HTML в a db.StringProperty()
в моей модели.
Таким образом, я делаю что-то как:
link.title = unicode(page_title,"utf-8").replace('\n','').replace('\r','')
и я добираюсь:
Property title is not multi-line
Есть ли другие коды, которые я должен использовать для замены?
Try ''.join(unicode(page_title, 'utf-8').splitlines())
. splitlines()
должна позволить стандартной библиотеке позаботиться обо всех возможных сумасшедших разрывах строк в Unicode, а затем вы просто присоединяете их все обратно вместе с пустой строкой, чтобы получить однострочную версию.
Python использует эти символы для разделения в Unicode. splitlines()
:
Как пишет Хэнк, использование splitlines()
позволит Python позаботиться обо всех деталях для вас, но если вам нужно сделать это вручную, то это должен быть полный список.
было бы полезно напечатать repr ()
из page_title, который, как замечается, является мультилинией, но очевидный кандидат был бы '\r'
.