Remplacer n Par

J'analyse le texte du fichier avec Python. Je dois remplacer toutes les nouvelles lignes (n) Par
car ce texte va construire du contenu html. Par exemple, voici une ligne du fichier:

'titlen'

Maintenant je fais:

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

Et je vois toujours le texte avec newline après.

32
demandé sur Ockonal 2010-12-06 20:26:51

6 réponses

Juste pour les coups de pied, vous pouvez aussi faire

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

Pour remplacer toutes les sauts de ligne dans une chaîne par <br />.

37
répondu Tim Pietzcker 2010-12-06 17:32:57

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

Str.replace() renvoie une copie de la chaîne, il ne modifie pas la chaîne que vous transmettez.

121
répondu Falmarri 2010-12-06 17:28:21
thatLine = thatLine.replace('\n', '<br />')

Les Chaînes en Python sont immuables. Vous devrez peut-être le recréer avec l'opérateur d'affectation.

7
répondu erickb 2015-10-17 12:16:54

Vous pourriez aussi avoir des problèmes si la chaîne a <, > ou & caractères, etc. Passer à cgi.escape() pour les traiter.

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

4
répondu greggo 2015-10-17 12:15:14

Pour une raison quelconque en utilisant python3, j'ai dû échapper au signe " \ "

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

J'espère que cela aide quelqu'un d'autre!

3
répondu Mikko Pöri 2016-12-21 13:37:07

Pour gérer de nombreux délimiteurs de nouvelle ligne, y compris des combinaisons de caractères comme \r\n, Utilisez splitlines (Voir Cet article connexe) Utilisez ce qui suit:

'<br />'.join(thatLine.splitlines())
2
répondu user3780389 2017-05-23 12:10:26