web-dev-qa-db-ja.com

\ nを<br />に置き換えます

Pythonでファイルからテキストを解析しています。すべての改行(\ n)を置き換える必要があります
このテキストはhtmlコンテンツを作成するためです。たとえば、ファイルの一部の行は次のとおりです。

'title\n'

今私がやります:

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

そして、テキストの後に改行が続いています。

37
Max Frai

キックのためだけに、あなたもすることができます

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

文字列内のすべての改行を<br />で置換します。

49
Tim Pietzcker

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

str.replace()は、文字列のコピーを返します。渡された文字列は変更しません。

146
Falmarri

\r\nなどの文字の組み合わせを含む多くの改行区切り文字を処理するには、 splitlines を使用します( this related post を参照)、次を使用します。

'<br />'.join(thatLine.splitlines())
8
user3780389

何らかの理由でpython3を使用して、「\」記号をエスケープする必要がありました

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

これが誰かの助けになることを願っています!

8
Mikko Pöri
thatLine = thatLine.replace('\n', '<br />')

Pythonの文字列は不変です。割り当て演算子を使用して再作成する必要がある場合があります。

7
erickb

文字列に<>、または&などの文字が含まれている場合にも問題が発生する可能性があります。それらを処理するためにcgi.escape()に渡します。

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

4
greggo

問題は、replace()呼び出しで_'\n'_を指定すると、_'\n'_は_String length=4_から作られた_' \ n '_として扱われる
これを取り除くには、ASCII表記を使用します。 http://www.asciitable.com/

例:

_newLine = chr(10)
thatLine=thatLine.replace(newLine , '<br />')
_

print(thatLine) #python3

_print thatLine #python2_。

1
user2458922