Ответ 1
Просто для пинков, вы также можете сделать
mytext = "<br />".join(mytext.split("\n"))
чтобы заменить все строки новой строки в строке <br />
.
Я разбираю текст из файла с помощью Python. Я должен заменить все новые строки (\n) на
, потому что этот текст будет строить html-контент. Например, вот несколько строк из файла:
'title\n'
Теперь я делаю:
thatLine.replace('\n', '<br />')
print thatLine
И я все еще вижу текст с новой строкой после него.
Просто для пинков, вы также можете сделать
mytext = "<br />".join(mytext.split("\n"))
чтобы заменить все строки новой строки в строке <br />
.
thatLine = thatLine.replace('\n', '<br />')
str.replace() возвращает копию строки, она не изменяет строку, в которую вы проходите.
thatLine = thatLine.replace('\n', '<br />')
Строки в Python неизменяемы. Возможно, вам понадобится заново создать его с помощью оператора присваивания.
У вас также могут быть проблемы, если строка содержит <
, >
или &
символы и т.д. Передайте ее в cgi.escape()
, чтобы справиться с ними.
http://docs.python.org/library/cgi.html?highlight=cgi#cgi.escape
По какой-то причине с помощью python3 мне пришлось сбегать с символа "\" -
somestring.replace('\\n', '')
Надеюсь, это поможет кому-то еще!
Чтобы обрабатывать множество разделителей строк, включая комбинации символов, такие как \r\n
, используйте splitlines (см. этот связанный пост) используйте следующее:
'<br />'.join(thatLine.splitlines())