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.
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 />
.
thatLine = thatLine.replace('\n', '<br />')
Str.replace() renvoie une copie de la chaîne, il ne modifie pas la chaîne que vous transmettez.
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.
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
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!
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())