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