【问题标题】:Python Replace Newlines with <br/>Python 用 <br/> 替换换行符
【发布时间】:2022-08-07 01:10:54
【问题描述】:

我仔细阅读了可用的线程,但没有任何效果。用双斜杠尝试了this approach,它没有用。还尝试将raw-string approach 设置为r\\n,但这也不起作用。

我需要将所有换行符(让我们以\\n 开头)替换为&lt;br/&gt;。请参阅以下屏幕截图,显示结果如何与原始字符串(obj.get(key))相比没有变化:

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

  • 如果它们实际上是换行符,请不要使用转义符或原始字符串使其成为文字反斜杠,后跟\'n\',只需使用.replace(\'\\n\', \'&lt;br/&gt;\') 替换实际的换行符。
  • 你在哪里调用了getWithHTMLBreaksForNewlinesOrTrimToNone() 函数?
  • 谢谢,ShadowRanger\'s plain \\n 工作。但是,当我想包含多个选项 \\r\\n 时,它不起作用。我通过尝试同时包含\\r\\n 而陷入这种情况。
  • \'&lt;br/&gt;\'.join(text.splitlines())
  • 这不是一个正确的副本——另一个问题不是关于如何做到这一点,而是关于使用.replace 的问题。这个问题是关于一个不同的使用.replace 的问题,这可能应该被认为是一个错字。

标签: python


【解决方案1】:

尝试将文本转换为流以调用 readlines,并替换最后一个字符(回车由 )

像这样

>>> msg = "Bob Smith\nJane Doe\nJane,\nPlease order more widgets\nThanks,\nBob\n"
>>> msg
'Bob Smith\nJane Doe\nJane,\nPlease order more widgets\nThanks,\nBob\n'
>>>
>>> import io
>>> buf = io.StringIO(msg)
>>> buf.readline()[-1]='<br>'

你需要迭代buff

【讨论】:

    最近更新 更多