Заменить \ n на - PullRequest
       111

Заменить \ n на

37 голосов
/ 06 декабря 2010

Я анализирую текст из файла с помощью Python.Я должен заменить все новые строки (\ n) напотому что этот текст будет строить HTML-контент.Например, вот какая-то строка из файла:

'title\n'

Теперь я делаю:

thatLine.replace('\n', '<br />')
print thatLine

И я все еще вижу текст с новой строкой после него.

Ответы [ 6 ]

144 голосов
/ 06 декабря 2010

thatLine = thatLine.replace('\n', '<br />')

str.replace () возвращает копию строки, но не изменяет передаваемую строку.

49 голосов
/ 06 декабря 2010

Только для ударов, вы также можете сделать

mytext = "<br />".join(mytext.split("\n"))

, чтобы заменить все новые строки в строке на <br />.

8 голосов
/ 06 декабря 2010
thatLine = thatLine.replace('\n', '<br />')

Строки в Python являются неизменяемыми. Возможно, вам придется воссоздать его с помощью оператора присваивания.

7 голосов
/ 26 апреля 2017

Для обработки многих разделителей новой строки, включая комбинации символов, такие как \r\n, используйте splitline (см. этот связанный пост ) используйте следующее:

'<br />'.join(thatLine.splitlines())
7 голосов
/ 21 декабря 2016

По какой-то причине, используя python3, мне пришлось избежать знака "\"

somestring.replace('\\n', '')

Надеюсь, это поможет кому-то еще!

4 голосов
/ 06 декабря 2010

У вас также могут возникнуть проблемы, если в строке есть символы <, > или & и т. Д. Передайте ее в cgi.escape(), чтобы разобраться с ними.

http://docs.python.org/library/cgi.html?highlight=cgi#cgi.escape

...