如何在python中为纯文本添加后缀

问题描述

我想通过邮件发送以下文本。我必须将其转换为 html,因此我必须在每行分隔符中添加

我怎样才能以适合我的方式做到这一点? 这是我的尝试。

text = """
Hi,my name is John,Regards
"""

strString = map(lambda x: x + '<br>',text)
print(list(strString))
['\n<br>','H<br>','i<br>',',<br>',' <br>','m<br>','y<br>','n<br>','a<br>','e<br>','s<br>','J<br>','o<br>','h<br>','\n<br>','R<br>','g<br>','r<br>','d<br>','\n<br>']

Desired output
text = """
Hi,<br>
Regards<br>
"""
text
'\nHi,<br>\nRegards<br>\n'

解决方法

您可能希望替换换行符

>>> text = """
... Hi,my name is John,... Regards
... """
>>> import re
>>> print(re.sub(r"\n","<br>\n",text))
<br>
Hi,<br>
Regards<br>

或者,您可以使用 <pre> (preformatted text) 按原样写出文本! (虽然它确实更适用于代码块,可能不适用于其他文本)

<pre>
Hi,Regards
</pre>

正如 PacketLoss 所指出的,如果您只有一个简单的字符/子字符串要替换,则使用字符串的 .replace() 方法很好,并且可能会更好/更清晰!

,

如果要将所有新行 \n 替换为 <br>,只需使用 string.replace()

print(text.replace('\n','<br>'))
#<br>Hi,<br>Regards<br>

要保留新行,只需修改您的替换值。

print(text.replace('\n','<br>\n'))
<br>
Hi,<br>
Regards<br>

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...